【技术实践】什么是微服务架构

2019-02-14 人浏览 点击收藏: 分享至:

  一、微服务架构的定义


  1、定义

  微服务是架构设计上的一种风格,他的主旨是通过将一个原本独立的系统拆分成多个小型服务。这些小型服务彼此进程独立,彼此之间通过基于httprestful服务通讯写作。

  被拆分的每个小型服务围绕着系统中某一项或一些耦合度较高的业务功能进行构建,并且每个服务维护者自己的数据存储、业务开发、自动化测试用例以及独立的部署机制。

  由于有了轻量级的通信写作基础,这些微服务可以使用不同的语言和架构来编写。


  2、特性

  五毒特性,分别演进

  · 独立进程

  · 独立功能

  · 独立存储

  · 独立测试

  · 独立部署


  3、微服务架构 vs 传统架构模式

  传统服务架构-单体应用模式

  在业务发展初期,业务逻辑在一个应用中,开发测试方便。随着企业发展,需求不断增多,系统功能模块不断增加。

  特别是随着移动端设备的发展,前端展现已经不止局限于web方式。

  单体应用弊端:

  · 部署在一个进程中,每个功能的修改部署可能会影响其他功能

  · 各个功能使用场景、并发量、消耗的资源各不相同,资源利用相互影响,很难准确评估

  随着系统的发展,单体应用维护成本越来越大,且难以控制。

  微服务架构优势:

  · 开发维护容易,不影响其他功能运行

  · 独立部署,性能容量评估容易,容易发现系统瓶颈


  4、挑战

  · 运维的新挑战:自动化运维,编排运维过程

  · 接口的一致性:接口和版本管理

  · 分布式的复杂性:网络延迟、分布式事务、异步消息等


  二、微服务架构的九大特性


  1、服务组件化:独立演进而不影响其他单元

  2、按业务组织团队:一体化团队,降低内耗,边界清晰

  3、做产品的态度:对产品生命周期负责

  4、智能端点和哑管道:rest服务和消息中间件实现消息易读和可视化

  5、去中心化治理:不同的业务场景可以选择不同的技术平台

  6、去中心化管理数据:无事务和最终一致性

  7、基础设施自动化:自动化测试和自动化部署

  8、容错设计:快速发现故障和快速自动回复

  9、演进式设计:初期单体&玻璃经常变动和有一定时间效应的内容鹅绒给技术


  三、微服务架构的选择:Spring Cloud


  1、当前的解决方案

  · 服务治理:DubboXDubboNexflixEurekaApacheConsul

  · 分布式配置管理:百度的DisconfNetflixarchaius360QConfSpringCloudConfig、淘宝的Diamond

  · 批量任务:当当网的Elastic-jobLinkedInAzkabanSpringCloudTask

  · 服务跟踪:京东的HydraSpringCloudSleuthTwitterZipkin

  · 。。。


  2、综合解决方案:Spring Cloud

  兼容机与品牌机的故事

  兼容机:自己选择合适的组件,整合框架,技能要求高,兼容性需要验证

  品牌机:不重复造轮子,集成特性完备

  SpringCloud:借助社区的力量,聚焦业务开发


  作者:梁圣奇

  职务:云服务集团云计算产品中心高级架构师

  专业领域:微服务架构

  专家简介:近二十年软件开发与架构设计经验,深入了解多种软件设计模式,在微服务架构治理、物联网服务平台设计研发等领域拥有丰富实战经验,同时专注技术分享,帮助开发者成长。


查看全部
相关文章推荐相关文章推荐
技术实践什么微服务架构 浪潮服务器公司哪个?怎么样的公司? 技术实践】kubernetes 手绘画 服务器和物理服务器有什么区别 服务器性能选择服务器的关键 什么优质的云服务器? 浪潮云分享:什么服务器证书 什么负载均衡? 什么租用服务器?云服务器优势有哪些? 什么云主机?云主机能干什么
热门解决方案热门解决方案
SaaS云解决方案_SaaS云平台搭建_SaaS云服务 汽车行业PDM解决方案-汽车行业研发产品管理平台 医药行业公有云解决方案_医疗云解决方案_医疗云服务平台 云代账解决方案_企业云代账平台 企业建站解决方案_企业建站系统_一键建站 智慧仓储解决方案_智能物流解决方案_智能仓库管理系统 化工行业重大危险源监控及事故预警系统解决方案_危险源监控_事故预警系统搭建 电梯应急处置服务系统解决方案_电梯应急处置服务平台 机械制造行业MES解决方案_机械加工行业mes系统_机械行业MES生产制造 配送中心解决方案_配送服务方案
热门产品推荐热门产品推荐
热门标签热门标签