微服务架基本理念和原则

问题描述:微服务架构基本理念和原则,相关实现技术,为什么会在团队中选择微服架构,实行微服架构过程中遇到的问题及其解决方案

关键思路:

  1.服务建模

  2.服务拆分和集成

  3.基础组件与关键要素

  4.spring cloud技术体系

  5.团队业务发展特点和组织架构,微服务粒度和边界



微服务架基本理念和原则_第1张图片

具体剖析:

集中式架构的优缺点:

 优势:

    1.易于开发,测试,部署

    2.具有一定的程度多水平伸缩性

劣势:

    1.维护成本与业务复杂度

     2.团队规模与结构

     3.交付周期与管理

     4.可扩展性

微服架构的定义:

1.微服架构是一种架构模式,它提倡将单一应用划分成一组小的服务,服务于服务之间相互协调配合,为用户提供最终价值。

2.每个服务运行在独立的进程中,服务与服务之间采用轻量级通信机制相互沟通。(通常是基于http的restfull api)

3.每个服务围绕着业务进行构建,并且能够被独立打部署到生产环境中

4.尽量避免统一的,集中式的服务管理机制,对具体对服务而言,应该根据业务上下文,选择适合的工具,语言进构建。

”微“ 特性

1.业务独立

2.团队自主                               

3.技术无关轻量级通信

4.交付独立性

微服架构实现策略

1.采用松散的服务体系

    1.1:独立开发,部署,维护,独立部署单个服务,而不需要修改其他的服务

    1.2:技术无关的集成接口,尽可能使用轻量级的通信方式进行服务集成

2.围绕业务组件团队

3.融合技术多样性

4.确保业务数据独立

5.基础设施自动化:devops

5.1:服务部署

5.2:健康诊断

5.3:错误回滚

5.4:日志分析

5.5:服务治理 

总体原则:

1.围绕业务概念建模

2.自动化的文化

3.一切都是去中心化

4.独立部署

5.隔离失败

6.高度可观察

微服务架构存在的问题

1.分布式系统固有的复杂性

    1.1:性能

   1.2:可靠性

   1.3:异步

   1.4:数据一致性

2.部署自动化与运维成本

   2.1:配置

   2.2:监控和报警

   2.3:日志收集

   2.5:部署流水线

3.组织架构

4.服务间的依赖管理

5.测试的复杂性


理想的集成技术

1.服务兼容性修改,尽量避免服务定义的修改导致服务消费方也需要修改

2.保证api的技术无关性

3.服务易于消费分使用

4.隐藏内部实现细节

集成技术:

 文件传输,数据共享,远程过程调用,消息传递

请求/响应模式:

 1.rpc:本地调用,结果由远程服务器产生。

  2.rest:rest+http+json 

事件驱动模式:

1.各种消息中间件

你可能感兴趣的:(微服务架基本理念和原则)