-
Notifications
You must be signed in to change notification settings - Fork 12
Home
Welcome to the news feed micro-services wiki!
This is an educational project where I explore how effective various modern open source technologies (components and programming languages) are in making scalable, heterogeneous data-source micro-services.
I blogged about the Clojure implementation.
http://glennengstrand.info/software/architecture/oss/clojure
I covered the Scala implementation and how it was different from the Clojure version in terms of code.
http://glennengstrand.info/software/architecture/oss/scala
I blogged about the performance differences.
http://glennengstrand.info/software/performance/scala/clojure
I blogged about how this micro-service performs when running with MySql, with PostGreSql, and with Docker.
http://glennengstrand.info/software/performance/mysql/postgres/docker
I returned back to Java and blogged about how the DropWizard version compared to the Clojure version of the news feed.
http://glennengstrand.info/software/performance/clojure/dropwizard
For something completely different, I blogged about a news feed micro-service implementation in Node.js and how it compared with the DropWizard version.
http://glennengstrand.info/software/performance/nodejs/dropwizard
I documented my research into how this micro-service performed when integrated with ElasticSearch and with Solr for keyword based search.
http://glennengstrand.info/software/performance/elasticsearch/solr
There are a lot of different open source projects being used here.
| project | URI | where used |
|---|---|---|
| Akka | http://akka.io/ | used in both client/perf3 and client/perf4 |
| Cassandra | http://cassandra.apache.org/ | server/feed* and kong |
| Clojure | https://clojure.org/ | server/feed and client/load |
| Docker | https://www.docker.com/ | server/feed* |
| DropWizard | http://www.dropwizard.io/1.0.5/docs/ | server/feed3 |
| Elastic Search | https://www.elastic.co/ | server/feed* and client/perf* |
| Finatra | http://twitter.github.io/finatra/ | server/feed2 |
| Guice | https://github.com/google/guice | server/feed3 |
| Hadoop | http://hadoop.apache.org/ | client/NewsFeedPerformance |
| Jackson | http://wiki.fasterxml.com/JacksonHome | server/feed3 |
| JDBI | http://jdbi.org/ | server/feed3 |
| Jersey | https://jersey.java.net/ | server/feed3 |
| Jetty | http://www.eclipse.org/jetty/ | server/feed and server/feed3 |
| Kafka | https://kafka.apache.org/ | server/feed*, client/perf, client/perf2, and client/perf3 |
| Kong | https://getkong.org/ | client/perf4 |
| Memcached | https://memcached.org/ | server/feed* |
| Mondrian | http://community.pentaho.com/projects/mondrian/ | client/etl |
| MySql | https://www.mysql.com/ | server/feed* |
| Node.js | https://nodejs.org/en/ | server/feed4 |
| PostGreSql | https://www.postgresql.org/ | server/feed and server/feed2 |
| Redis | https://redis.io/ | server/feed* |
| Ring | https://github.com/ring | clojure |
| Scala | https://www.scala/lang.org/ | server/feed2, client/perf2, and client/perf3 |
| Solr | http://lucene.apache.org/solr/ | server/feed and server/feed2 |
| Swagger | http://swagger.io/ | server/feed3 and server/feed4 |
| Vert.x | http://vertx.io/ | client/perf4 |