Skip to content
Glenn Engstrand edited this page Feb 25, 2017 · 37 revisions

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
Clone this wiki locally