微服务实践

什么是微服务

微服务的两个核心:nginx

  • 微:服务粒度更细,即服务要细到API
  • 服务:提供好服务,让服务好用

总结以上两点,来看这张图:docker

输入图片说明

从图能够看出,微服务很简单,好的架构就应该简单,咱们将服务拆API,每一个服务服务于一个完整的功能。安全

咱们将全部API扔到“云上”,用户经过链接“云”获取全部服务,“云”保证了更好的服务。架构

因此作好微服务,“云”是关键。并发

微服务的实现

输入图片说明

由图可知,微服务的关键是服务网关。负载均衡

微服务特色

服务须要细化成API:框架

  • 每一个服务由一组API组成
  • 以API形式对外提供统一格式的服务
  • 使用者可直接使用HTTP
  • API服务须要保证安全可靠

微服务解决的问题:运维

  • 统一入口
  • 安全控制:放刷限流
  • 统一鉴权:应用鉴权,用户鉴权,OAuth鉴权,ACL
  • 协议转换:http,dubbo,protobuf
  • API配置管理
  • API上线,下线
  • API与服务接口映射
  • 监控与报警
  • 总体架构可扩展,高并发,分布式
  • 服务容器自动收缩,扩容

方案

输入图片说明

  • 负载均衡:nginx/lvs/f5
  • 微服务层:高性能服务网关,统一入口,API配置管理,分流鉴权,服务监控,协议转换
  • 服务治理层:成熟的服务治理框架dubbo,MQ服务之间解耦
  • 弹性云:服务docker化,基于访问压力的实时集群调度与管理

弹性云

弹性云能够保证提供更好的服务,这对运维有很高的要求。这里的弹性云是自动化运维解决方案,对访问压力进行监控,根据监控解决调度应用和发布回收。 输入图片说明分布式