教育培训 > 谈谈微服务架构是一个怎样的存在?

谈谈微服务架构是一个怎样的存在?

2020-09-25 20:34阅读(60)

谈谈微服务架构是一个怎样的存在?:微服务是近些年被广泛提及的一个概念,微服务架构可以理解为一个轻量级的服务治理方案,也就是将系统的功能,通过服务的形式

1

微服务是近些年被广泛提及的一个概念,微服务架构可以理解为一个轻量级的服务治理方案,也就是将系统的功能,通过服务的形式发布到服务器上,对服务进行组合调用,实现具体的功能,解决实际业务问题的架构风格。

微服务产生于单体应用的扩大化,随着信息化不断发展,企业对软件功能的要求越来越具体,也愈发的细致,如果通过应用程序来实现,必然是一个极其复杂而又痛苦的过程,由此诞生了微服务的概念。就是将功能发布成服务,应用程序通过调用不同的服务来实现业务,这种设计架构称之为微服务。

微服务架构的优点在于每个服务可以有独立的团队开发,服务之间互不干涉,保障了系统的稳定性。由于功能被拆分到更细的粒度,有效的降低了程序的复杂程度,对硬件的需求也随之降低,但是微服务也有一些不足,比如服务调用带来的系统复杂性,服务间的依赖关系也是难以管理的,如何构建合理的服务依赖是考验架构师能力的重要依据;最后,微服务架构的部署以及跟踪也是很难的。总之,微服务架构有着自身的应用场景以及特点,了解哪些场景适合微服务比掌握微服务的具体技术更为重要,适当的技术用在适当的场景,才能发挥合适的价值。

数通畅联 专注于企业IT架构、SOA综合集成、数据治理分析领域,感谢您的阅读与关注!

2

微服务架构是当前最流行的技术架构,主要组件有注册中心、网关、配置中心和各种微服务模块。架构灵活、易扩展、可动态扩容。

在微服务之前,系统架构经历很长时间的演变,简述如下:

1.无架构

页面逻辑和业务逻辑混在一起,甚至页面直接访问数据库。

优点:因为没有太多的访问路径转换,效率是最高的;

缺点:没有分层,逻辑混乱,维护难,扩展难。

2.MVC

架构

单系统,表现层、逻辑层、业务层分开,各层分工协作。

优点:逻辑清晰、分工明确、易维护。

缺点:系统集中部署,属于强耦合,某些业务模块出现异常时,会导致整个系统无法访问。

3.SOA架构

面向服务的架构,多个系统分布式部署,通过消息总线进行通讯。

优点:各个系统的业务相对独立,耦合低;

缺点:消息总线负担太重,中心化太重,接口缺乏规范。

4.微服务架构

一个系统,按照粒度规划,划分为很多的微服务,而每个微服务,对应一个具体的业务实现,并可拥有自己独立的数据库,整个就是微服务架构。

优点:如上,架构灵活、易扩展,在实际运营时,按需扩容,集群部署。各个微服务业务互不影响,耦合性低;

缺点:开发成本高,对部署有一定的专业性要求。


从技术而言,微服务已经是一个设计理念很成熟的架构,可满足不同层次,不同业务场景的需要,而且经过多个版本的迭代,该踩的坑也基本踩完,生态系统完整,开源组件选择多多,很有一统天下的趋势,值得尝试。


但,不要为了微服务而微服务,要根据自己实际的要求去做抉择和取舍。

比较,适合自己的,才是最好的!

3

微服务是近几年技术社群讨论很多的一种软件架构方式,可以说是SOA的现代版本、时尚版本。不过这次浪潮不是由大公司倡导的,而是由工程师们引领的。比如,它采用工程师们熟悉的RESTful接口,而不是笨重的WebService,也不需要一大堆昂贵的中间件。

那微服务为什么流行起来?按理说它们都是让软件更加模块化,使相互之间保持松耦合,从而优化系统架构。

国内流行起来的微服务架构——RestCloud

RestCloud 为了保证服务不注册中心的高可用性,服务不注册中心通过水平扩展的能

力允许对服务不注册中心进行集群配置,幵在网关层做了服务的注册的数据缓存。

Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件中的一部分,它基于 Netflix Eureka做了二次封装。主要负责完成微服务架极中的服务治理功能。




易用性

如果你目前使用SpringBoot开发API服务则无需修改任何代码,只需引入RestCloud配置中心的jar包即可由配置中心接管所有配置,对开发人员无任何感知,如果你使用RestBoot开发平台开发API则已经是天然集成了配置中心的客户端Jar包无需任何依赖。 如果你使用php,c#开发目前RestCloud并没有提供现成的解决方案,你需要通过Rest API来接入RestCloud配置中心并自已在本地实现配置缓存管理。

稳定性

RestCloud采取全新的本地配置持久化技术,保证配置中心不会形成单点故障,因为所有的配置数据在应用则具有本地缓存和持久化技术,假定RestCloud配置中心出现故障且长时间未能恢复的情况下,应用则的程序会自动读取本地缓存配置数据. 进一步假定这时应用也刚好出现故障需要重启,则本地缓存在重启后将会消失,这时应用将自动从持久层再次读取配置数据到缓存中从而恢复运行,所以RestCloud配置中心不会出现故障后影响应用的运行,RestCloud配置中心优于目前开源的大多数配置中心解决方案。

易用性

如果你目前使用SpringBoot开发API服务则无需修改任何代码,只需引入RestCloud配置中心的jar包即可由配置中心接管所有配置,对开发人员无任何感知,如果你使用RestBoot开发平台开发API则已经是天然集成了配置中心的客户端Jar包无需任何依赖。 如果你使用php,c#开发目前RestCloud并没有提供现成的解决方案,你需要通过Rest API来接入RestCloud配置中心并自已在本地实现配置缓存管理。

稳定性

RestCloud采取全新的本地配置持久化技术,保证配置中心不会形成单点故障,因为所有的配置数据在应用则具有本地缓存和持久化技术,假定RestCloud配置中心出现故障且长时间未能恢复的情况下,应用则的程序会自动读取本地缓存配置数据. 进一步假定这时应用也刚好出现故障需要重启,则本地缓存在重启后将会消失,这时应用将自动从持久层再次读取配置数据到缓存中从而恢复运行,所以RestCloud配置中心不会出现故障后影响应用的运行,RestCloud配置中心优于目前开源的大多数配置中心解决方案。

网站链接:http://www.restcloud.cn/restcloud/mycms/index.html

参考资料:https://blog.csdn.net/kezi/article/details/81276727

4

微服务架构,数字时代信息化建设的解药还是毒药?

智能、互联时代已经来临,应用并发量激增,业务流程更加复杂,新技术迭代落地速度更快。

传统单体应用架构开发设计,代码复杂度控制,系统可扩展性保障难度越来越大。微服务架构通过将独立业务流程解耦的设计理念快速赢得了大量架构师的关注。更加灵活的部署方式和便捷的服务拼装都使人眼前一亮。大量企业客户,特别是互联网企业基于微服务架构建设信息系统获得了成功。然而,微服务是否适合所有类型的应用系统呢?是否是治愈日益膨胀数字系统开发、管理难题的解药?

我们总是希望有完美的技术方案,然而,放之四海而皆准的应用架构并不存在。微服务架构是一把双刃剑,一方面能大幅度缓解单体系统开发、部署复杂性问题;另一方面,为客户数字体验保障,应用性能稳定性保障带来了新的挑战。不能解决负面影响,微服务就是一剂毒药。

单体架构应用系统

微服务架构应用

微服务架构的优势

微服务架构应用的主要特点是业务功能模块松耦合,分布式部署。大部分业务功能模块都是单独部署运行的,彼此通过数据总线交互,基本都是无状态的服务,以确保能够灵活扩展。在这种架构下,从前台到后台的业务流程会经过多个服务节点,其中可能包括多台物理、虚拟机,容器和很多微服务进行处理、调用和传递。

微服务架构方式的主要优势是:

  • 业务逻辑复杂,系统庞大的应用系统能够持续交付、持续部署;
  • 服务业务逻辑独立,易于开发;
  • 服务之间相互耦合度低,可以独立部署;
  • 服务可以独立集群扩容;
  • 使应用能够快速引入新技术,支持多种语言开发的服务协同工作。

微服务架构下,对监控运维的挑战

微服务架构应用系统在业务处理,出现性能问题或业务异常排查问题的过程中会遇到很多棘手的问题,主要包括:

  • 应用节点数快速增加,复杂度急剧膨胀,导致测试、运维成本增加;
  • 业务流程处理链路变长,保障客户数字体验难度增加;
  • 业务逻辑和中间件解耦,动态性提升,日常管理难度增加;
  • 监控目标类型多,数据来源分散,故障定位分析困难。

目前开发运维团队应对以上问题的主要手段是采用 Prometheus、ElasticSearch、Skywalking、zipkin、zabbix 等代码链路追踪、埋点、日志分析、运行期应用指标监控开源工具自建设微服务应用监控系统。但实践结果显示,这种方式不但不能降低微服务监控运维成本,由于需要搭建多种监控系统协同工作,反而增加了系统复杂度,从多个系统接收告警,查询相关数据使得故障定位分析成本更高。

因此,东软基于 RealSight APM 应用智能运维平台,针对微服务架构应用监控运维场景研发设计了全景化监控管理解决方案。以全景化监控视图整合应用监控数据,通过场景化仪表盘应对客户数字体验保障、业务流程监控、应用性能稳定性保障等场景,化繁为简,为企业落地微服务保驾护航。

东软 RealSight APM

微服务运维解决方案核心价值

产品主要提供的核心功能包括:

01

系统复杂度激增,导致故障频发客户投诉不断,用户体验难以保障

解决方案:围绕用户体验保障,打造全景监控系统,提升系统可靠性;

  • 价值 - 业务优先一体化监控,提升系统可靠性;
  • 全景化监控,简化问题溯源;
  • 业务状态可视化,简化定位分析;
  • 全局态势分析,实时感知潜在风险;
  • 故障溯源,海量数据溯源分析。

全景化监控视图,故障风险一目了然

全面支持各种微服务基础组件

02

现有运维监控分散,指标告警和业务错误无法关联,责任边界难以界定

解决方案:梳理整合业务流程和监控指标,关联系统告警和业务异常,划清责任边界,有序运维管理;

  • 价值 – 划清责任边界,有序运维管理;
  • 可视化层级视图管理,明确职责边界;
  • 整合业务和监控指标,辅助风险根源定位;
  • 有序关联运维场景,简化故障处理流程。

开发运维一体化微服务监控管理

业务流程导向的微服务系统监控

03

业务流程复杂,故障排查耗时

解决方案:打造业务为核心的一体化监控视图,实时自动采集分析复杂业务流程状态,简化人工故障排查定位过程;

  • 价值 – 业务实时监控,简化人工故障处理过程;
  • 核心业务全景监控,一站管理业务状态;
  • 实时监控业务,业务故障自动发现;
  • 打通业务和技术指标,压缩故障分析过程。

微服务业务流程代码调用链路

微服务业务流程代码调用链路监控

智能根源问题分析定位

海量数据快速检索

04

监控数据分散,定位分析困难

解决方案:整合现有监控系统数据,打造运维中台,打通异构监控数据源,为实现高效智能运维奠定基础;

  • 价值 – 融合多源数据,支撑智能化高效运维;
  • 运维数据融合存储,业务技术指标联动;
  • 应用全链路监控,方便故障关联定位;
  • 智能检测定位异常,支撑运维提效减负。

运维数据中台支撑多源监控数据融合分析

业务优先的全景化微服务应用

自动探查复杂应用架构,生成全景监控视图

综上所述,需要降服微服务架构为企业所用,发挥更大价值,必需要有行之有效的客户体验保障、微服务应用监控运维系统。RealSight APM 产品为基础的微服务应用全景监控解决方案对症下药,在宝马中国、蒙牛集团、中国航空、宜昌三峡云、北京东城区等客户现场上线应用,运维效率显著提升,保障微服务架构发挥应有的价值。


来源:东软平台产品 https://platform.neusoft.com/