随着对微服务的的实践经验的增加,慢慢的对微服务有了一个宏观上的理解,简单整理一下;下面画了一张图,比较清晰的描绘了微服务组件的协作关系,以及微服务架构下面临的挑战;
服务注册
微服务架构下,服务的统一注册是前提,只有将所有服务集中注册起来按服务名称进行归类,提供统一的服务视图,才能更好的进行服务的治理操作.作为服务注册中心来说本身应该是一个分布式系统,满足CAP理论.
服务消费
对服务消费者来说,应该采取某种策略使用服务名称从注册中心获取到所需要的服务,关注服务的时效性以及对要求对微服务请求进行负载均衡,同时服务调用方应该采取某种自我保护机制以避免在复杂调用链中的服务级联故障;
服务消费者使用微服务的服务名称来获取具体的服务链接;
服务配置
服务的集中配置能大大降低服务的部署周期,基于配置中心+分布式KV系统允许构建一个高可用的配置中心;
微服务实例统一从配置中心下载配置文件
服务网关
网关提供统一的服务外部链接视图,基于此可以做服务的过滤、鉴权、负载均衡等操作;
外部系统访问微服务统一通过网关链接;
服务治理
对微服务的治理涵盖了服务的多方面:服务数量、服务状态、日志信息、调用链信息、服务负载、自动部署等方方面面;
这是一项长久的艰难的工作;