您当前的位置:首页 > 电脑百科 > 程序开发 > 架构

关于微服务的几点老板关心问题

时间:2020-08-06 14:07:38  来源:  作者:

回答关于微服务的几点老板关心问题

单体系统在初期可以实现比较方便地开发与使用,但是随着系统的发展,维护成本变大,且难以控制(当一个系统业务复杂且架构设计不合理,同时以前的开发者之间没有什么规范的时候,后续新人对于功能的修改、维护、完善都必须建立在对系统整体业务的把握上,这也对开发人员提出了更高要求)。

引进微服务架构体系作为后续主体架构,将不同的模块拆分成多个不同的服务,服务能够实现独立的部署与扩展,且不同的服务都运行在自己的进程中,由于部署存在稳定的边界,这样每个服务的更新都不会影响到其他服务的运行,也更方便后续整体架构的水平扩展。同时平衡需求的多变和软件工程本身的技术复杂性的矛盾,从而在应用开发小团队中推行敏捷开发开发模式。

1、开发效率能提高吗?

  • 在单体架构中,随着业务的发展,代码会越来越多,变得臃肿,编译、启动、打包、发布会变得越来越慢。
  • 一个小功能的改动,重启都需要等待几分钟,导致很多的时间会浪费在这个过程中。
  • 由于业务的变化性较高,使得各个业务的代码交互变得复杂,如果维护不当,会导致这些代码难以维护。 如果进行维护,就算只改动了一个小功能,也可能会影响到N个模块业务。
  • 在微服务的体系下,将不同的业务层划分成各个不同的业务模块,使得模块间的耦合度降低,方便维护。
  • 每个业务模块独立成一个微服务,由不同的人员(团队)来维护,达到可以独立开发和独立部署。
  • 分工明确,代码逻辑清晰、代码量小,可维护性高,整体提高开发效率。

2、产品质量能提高吗?

单体架构是将所有业务功能全部集中在一个系统服务中,如果某个业务突发请求,或者异常,可能会导致整个系统宕机。

微服务体系中,会将不同的业务划分成不同的服务,各个服务会使用多个服务进行负载、容错、隔离。如果某个服务宕机,不会影响到整个系统的正常运行。

3、代码的执行效率能提高吗?

代码的执行效率与算法和设计有关系。微服务只解决了业务的划分之后服务治理与服务调用,对业务代码的执行效率不会有明显的改善,但是在改造的过程中,会逐步修复算法与设计的问题。

4、可扩展性如何?支持灵活的二次开发吗?以什么形式来支持呢?

微服务可以根据业务情况,对高并发业务或者需要高保障的业务进行快速的横向扩容。

微服务以组件化的形式存在,可以根据公司不同的业务场景,满足各种定制化需求,快速交付

微服务对后续PaaS平台的研发和支持提供了基础技术保障。

5、服务器成本如何?与现在是持平还是更节省?还是更高?

由于微服务都是运行在独立的容器中,相比ECS,大大节约了CPU与内存的使用率。

对资源的要求相对单体系统来说整体降低。

单体架构只需要一个独立的pod容器,但是在微服务中,每个独立服务都需要一个独立的pod容器。

独立服务的容错、负载(一个业务服务运行在多个进程/容器中),则需要消耗更多的系统资源。

在微服务体系中,资源与容错能力是成正比的。容错能力越强,则消耗的资源越多。

6、后续的运维成本如何?

微服务体系物理架构在后续水平扩展方面可减少服务器数量和降低对服务器配置要求(高频/高可用微服务和低频/低可用微服务可分别部署至不同配置的服务器上。

微服务体系中每个服务都可以独立部署(高内聚低耦合),这样每个服务的更新都不会影响到其他服务的运行或影响范围可控,也更方便后续整体架构的水平扩展。

对于运维人员的要求: 掌握全链路监测、灰度发布,掌握基础微服务知识等相关能力。

对于测试人员的要求: 混沌测试(全链路测试)。

微服务架构体系加持续集成方案带来的预期收益主要有:

  • 系统水平扩展能减少应用服务器需求数量和降低对服务器的性能要求;
  • 快速响应业务部门的需求(系统短周期开发,测试,发布迭代的敏捷开发模式);
  • 相对单体系统降低开发人员的开发成本(微服务功能原子化)及管理成本(持续构建,静态代码检测,部署自动化);
  • 系统水平扩展更便捷(子系统以微服务热发布集成);
  • 系统稳定性更好(前后端分离,服务流量控制,服务健康检查,服务调度可监控及可追溯)。


Tags:微服务   点击:()  评论:()
声明:本站部分内容来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除,谢谢。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
思维导图 文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary一、前言伴随着Eurka2.0版本已停止维护,开始要考虑使用微服务新一代的开源的注册中心...【详细内容】
2020-11-13   微服务  点击:(2)  评论:(0)  加入收藏
本文作者:HelloGitHub-秦人HelloGitHub 推出的《讲解开源项目》系列,今天给大家带来一款开源 Java 版可以实现动态服务发现,配置和服务管理平台——Nacos,它是阿里巴...【详细内容】
2020-11-12   微服务  点击:(5)  评论:(0)  加入收藏
Spring Cloud的开源可分布式物联网(IOT)平台,用于快速开发、部署物联设备接入项目,是一整套物联系统解决方案物联网架构 模块划分,四层架构 驱动层:用于提供标准或者私有协议...【详细内容】
2020-11-03   微服务  点击:(9)  评论:(0)  加入收藏
编者语:微服务,就是将单体(monolithic)代码分解为易于维护的块,而这正是运维(devops)哲学的关键。或者说是基于不断扩展的业务而实现针对业务功能域的应用商业价值的快速交付或敏捷...【详细内容】
2020-10-30   微服务  点击:(1)  评论:(0)  加入收藏
使用微服务架构将导致基础架构的需求、成本和复杂性激增,但会提高企业服务的连续性和弹性,进而影响企业整体运行文化。在采用微服务之前,企业需要花费时间和精力去了解微服务架...【详细内容】
2020-10-30   微服务  点击:(5)  评论:(0)  加入收藏
原文地址:https://fredal.xin/build-api-gateway原文作者:fredal的博客 随着这些年微服务的流行,API网关已经成为微服务架构中不可或缺的一环。一方面它承担着服务对外的唯一...【详细内容】
2020-10-13   微服务  点击:(11)  评论:(0)  加入收藏
消息总线的定义前面在1.4.2节中强调过,在微服务架构中,经常会使用REST 服务或基于消息的通信机制。在3.6节中也详细介绍了消息通信的实现方式。消息总线就是一种基于消息的通...【详细内容】
2020-09-29   微服务  点击:(15)  评论:(0)  加入收藏
可以说,Docker是目前市面上比较流行的容器技术之一。本节我们将带领大家一起使用Docker来演示如何构建、运行、发布微服务。 Docker的安装原先,Docker只支持Linux环境下的安装...【详细内容】
2020-09-25   微服务  点击:(8)  评论:(0)  加入收藏
微服务的高级主题一自动扩展Spring Cloud 提供了大规模部署微服务所必需的支持。为了获得像云服务环境一样的能力, 微服务实例也应该能够根据流量的规模来自动扩展,也称自动缩...【详细内容】
2020-09-23   微服务  点击:(10)  评论:(0)  加入收藏
Spring Cloud 微服务总体架构图Spring cloud作为当下主流的微服务框架,让我们实现微服务架构简单快捷,Spring cloud中各个组件在微服务架构中扮演的角色如图所示。spring-cl...【详细内容】
2020-09-20   微服务  点击:(7)  评论:(0)  加入收藏
持续交付与持续部署微服务持续集成(Continuous Integration)与持续交付(Continuous Delivery )、持续部署(ContinuousDeployment)作为敏捷开发实践,可以及早发现、解决问题,从而...【详细内容】
2020-09-17   微服务  点击:(3)  评论:(0)  加入收藏
JeecgBoot自开源来被问最多的就是微服务版本什么时间出呢??微服务是个趋势,特别随着中台概念的兴趣,每个公司对微服务的需求都很迫切。针对大家的需求,我们推出了Jeecg-Cloud版本...【详细内容】
2020-09-16   微服务  点击:(26)  评论:(0)  加入收藏
常见微服务的消费者本节就常见的微服务的消费者进行介绍。在Java领域比较常用的消费者框架主要有HttpClient、Ribbon、Feign 等。 Apache HttpClientApache HttpClient是Apa...【详细内容】
2020-09-11   微服务  点击:(11)  评论:(0)  加入收藏
微服务架构作者:DevOps亮哥来自:DevOps探路者一、关键点:对于面向对象的设计,我们遵循SOLID原则。对于微服务设计,我们建议开发人员遵循IDEALS原则:接口分离(Interface segregation...【详细内容】
2020-09-11   微服务  点击:(3)  评论:(0)  加入收藏
什么是微服务模式随着网络基础设施的高速发展,以及越来越多的个体接入互联网,在考虑构建支持海量请求以及多变业务的软件平台时,微服务架构成为多数人的首选。微服务架构的出现...【详细内容】
2020-09-09   微服务  点击:(9)  评论:(0)  加入收藏
作者 | Scott Rogowski策划 | 万佳转发链接:https://mp.weixin.qq.com/s/QtYw0xdC3KN2gNAqHubIOg前言在现代技术公司(无论大小)的架构中,微服务已经无处不在。但是,它们真的比以...【详细内容】
2020-09-09   微服务  点击:(8)  评论:(0)  加入收藏
如何集成 Eureka Client本节将创建一个micro-weather-cureka-client作为客户端,并演示如何将自身向注册服务器进行注册,这样以便其他服务都能够通过名称来访问服务。该客户端...【详细内容】
2020-09-08   微服务  点击:(7)  评论:(0)  加入收藏
微服务软件架构是一个包含各种组织的系统组织,这些组件包括 Web服务器, 应用服务器, 数据库,存储, 通讯层), 它们彼此或和环境存在关系。系统架构的目标是解决利益相关者的关...【详细内容】
2020-09-08   微服务  点击:(6)  评论:(0)  加入收藏
“微服务的战争” 是一个关于微服务设计思考的系列题材,主要是针对在微服务化后所出现的一些矛盾/冲突点,不涉及具体某一个知识点深入。如果你有任何问题或建议,欢迎随时交流。...【详细内容】
2020-09-01   微服务  点击:(9)  评论:(0)  加入收藏
Raft,分布式共识算法,是工程上使用较为广泛的强一致性、去中心化、高可用的分布式协议。如redis-sentinel,etcd等都使用Raft协议解决分布式一致性的问题。Nacos注册中心是阿里...【详细内容】
2020-08-31   微服务  点击:(12)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条