Backbone of IT infrastructure?

I have a bunch of web services. These services are written in different languages and expose a REST api. A front end web site accesses these services. The requests are proxied through a nginx server which does load balancing and connection management. This has been rock solid and very performant.

I'm contemplating replacing nginx with Apache Camel to take advantage of its powerful mediation and integration patterns. I have a few questions since I'm completely new to the Java ecosystem.

  • How performant is Apache Camel? Would the req/sec of a jetty end point be comparable to nginx?

  • Spring looks confusing. Can a standalone Camel application be deployed to something like AWS Elastic Beanstalk? If I want allow Camel to process more requests/sec, do I just add another Camel server in tandem?

  • Are there any pitfalls to using Apache Camel as the backbone to my entire IT infrastructure?


  • You have not mentioned what the major motivation is for changing the current architecture. Here are my comments:

    How performant is Apache Camel? Would the req/sec of a jetty end point be comparable to nginx?

    I doubt if you will get the same req/sec performance from camel jetty as you do with nginx. Please dont take my word and try a load yourself with both the setup. I feel the message/exchange handling by camel will incur some cost that is missing form nginx. But both have different uses.

    If I want allow Camel to process more requests/sec, do I just add another Camel server in tandem.

    This question is confusing. I assume your requests passed through one nginx. If you add multiple camel servers you need the sender to be available of the multiple camel servers or use some routing or load balancing mechanism in front of it that is aware of multiple camel instances.

    Are there any pitfalls to using Apache Camel as the backbone to my entire IT infrastructure?

    This depends on what your problems are and how much of it is resolved by camel. Camel is an integration framework that supports multiple protocols. I see you only have web services which is supported by camel. But your current infrastructure already supports it.

    链接地址: http://www.djcxy.com/p/55008.html

    上一篇: 与春天DSL的Apache骆驼

    下一篇: IT基础架构的骨干?