微服务核心架构

定义:微服务是一种架构风格、由马丁在其博文中首次提出;
特点:1. 一组小的服务 2.独立的进程 3.轻量级级通信协议(即http) 4.基于业务能力 5. 独立部署 6.无集中式管理
挑战:1. 分布式复杂性 2. 数据一致性 3.运维复杂性 4. 测试复杂性
康威法则:公司的组织架构应与开发系统的架构保持一致,这样能提升研发效率;
引入微服务的适用性:当系统越来越复杂时,如果采用单系统可以会带来生产力的降低,这样可以考虑引入微服务,根据实践在一个百人团队中可以采用微服务架构;对于新系统不建议一上来就使用微服务架构,里面涉及到基础设施的投入、服务的拆分等;
组织引入微服务:在微服务架构时组件跨职能部门的微服务团队,以平台方式交付;
阿里的微服务中台战略:包括技术中台(IaaS、PaaS)、业务中台(微服务能力)、业务前台;
服务分层:行业内还没有统一标准,有的分三到四层,有的没有分层;一种比较简单明细的分层方式为:可以分为两层,第一层是基础服务层(核心领域服务、公共服务、中间层服务)、聚合服务(适配服务、边界服务)
技术架构:基础设施、平台服务、支撑服务、业务服务层(微服务)、网关层、接入层;
服务发现机制:1.传统负载均衡,这种方式缺点是负载均衡是单点,有性能开销;2. 将负载均衡以进程方式集成到消费者内部,不存在负载均衡单点,但这种方式需要根据不同语言进行开发
API服务网关其主要作用包括:反向路由、安全认证、限流熔断、日志监控

猜你喜欢

转载自blog.51cto.com/2036000/2434494