用Nginx作为微服务核心
Spring下面提供了完整的微服务核心Enureka、zuul,Herix,从服务注册、发现、路由、断路都有。缺点是都是Java平台的,但大型系统又往往不是单一技术平台,除了netfix这样的。(是否可以为单一技术平台这里不讨论)。Nginx是最流行的http反向代理,如果作为微服务组件有什么优势劣势呢?优势本身就是个路由器的功能可以通过规则把功能路由到不同模块高性能,和语言无关有一定断路器
·
Spring下面提供了完整的微服务核心Enureka、zuul,Herix,从服务注册、发现、路由、断路都有。缺点是都是Java平台的,但大型系统又往往不是单一技术平台,除了netfix这样的。(是否可以为单一技术平台这里不讨论)。Nginx是最流行的http反向代理,如果作为微服务组件有什么优势劣势呢?
优势
- 本身就是个路由器的功能
- 可以通过规则把功能路由到不同模块
- 高性能,和语言无关
- 有一定断路器功能,服务不可用会移除,根据某个地址进行测试。
缺点
- 缺乏服务注册发现功能,服务器不能动态增减。
- 服务规则是静态的,修改还需要重新加载配置
改进
- 增加服务注册发现功能,在反向代理中,可以支持路由到服务而非地址。
- 注册发现功能开发各个语言的Api。
给nginx装上一个服务注册管理功能,并支持集群数据共享,这样nginx的反向代理可以映射到在nginx上注册的一个服务上并自动轮询,同时支持故障检测,又具有跨语言的特性。
更多推荐
已为社区贡献2条内容
所有评论(0)