1、微服务信息管理中心(有人称之为服务发现、服务注册)
微服务架构中,有大量的微服务,且每个微服务都是随机部署的,微服务还会因为软件故障或硬件故障进行迁移,根据访问量进行自动弹缩(即负载大时,自动多启动几个微服务实例,负载小时,自动关闭几个微服务实例)
微服务直接为了互相访问,需要有一个信息管理中心,大家把自己的名字、ip、端口等注册上去,其它微服务就可以查询到这些信息,从而实现互相访问。
这个信息管理中心是整个系统的一个瓶颈,一旦瘫掉,整个系统都不能使用。所以必须是一个集群。
业内有下面这些开源软件:consul,eureka , zookeeper、etcd
参考 http://blog.csdn.net/zzhou1990/article/details/72667659
2、服务网关
微服务都部署在内网,想对外提供功能,就需要一个服务网关。
nginx反向代理似乎可以完成这个事情。
但是,总不能手工不断去配置吧。
业内开源的有:Zuul、OpenResty、nginx+lua
--------------web大容量扩展技术----
1、反向代理负载均衡(包括基于软件的,基于硬件的)
2、DNS 多IP
3、IP层进行负载均衡,比如dnat等基于内核转发的技术。处理能力能达到ngnix的2倍。