浅谈微服务

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:AAAA1234560
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着互联网的发展,需求的多样化,应用的规模越来越大,人们要求能实现更多的功能和更多服务。该文介绍了微服务的发展现状、应用前景。
  关键词:单体式架构;分布式;微服务;spring Cloud;Dubbo
  中图分类号:G642 文献标识码:A
  文章编号:1009-3044(2020)14-01 17-01
  1微服务出现的原因
  早期的应用都部署到一台服务器上,随着访问量的逐渐增加,为了增大应用的吞吐量,就有了采用多个服务器部署一个应用的方式,即分布式服务。不过这仍然是单体式架构,随着应用体量越来越大,耦合的问题逐渐凸显出来了。这个时候不仅需要一种新的架构能应对与日俱增的访问量,还需要把大型应用的开发和维护变的更加明确清晰,于是微服务就应运而生。
  2微服务
  微服务可以视为分布式的一种实现,具体则是把一个单体应用按照实际需求划分出多个部分,每个部分都只负责完成一部分功能支持服务。但这些微服务之间彼此关联又界限清晰,有需要的时候就可以相互调用。
  2.1微服务优点
  每一个微服务都可以视为一个应用,能够独立部署,可以根据业务需要对微服务进行增减或者改变。甚至一个微服务对应一种编程语言,这是一项很大的优势,极大增加了开发的自由度,让不同公司和团队也能从低门槛参与一个项目中。
  2.2微服务缺点
  如何有效做到监控不同服务器中的服务,这是微服务的难点之一。由于使用了分布式的技术,微服务难免会有出现和分布式类似的问题。例如,如何保证微服务之间的通信正常、数据库的一致性等。
  3微服务与Spring Cloud
  3.1方便的Spring Cloud框架
  SpringCloud和springBoot关系密切,也同样具备了配置默认和整合其他框架的特点。除此之外还得益于Privotal的技术支持和Netflix的开源,SpringCloud不仅有可靠的技术作为支撑,而且还自带一整套常用的微服务组件。
  3.2框架下的组件
  常用的组件包括用于自动、动态、统一管理分布式系统的Config,用于熔断、降级的熔断器Hystrix,与Hystrix配套使用、监控整个微服务系统的数据和流量的Turbine,实现动态路由的Zuul,实现微服务的自动化注册和发现的Eureka,监视Eure-ka Server并且实现负载均衡的Ribbon。其他的还有实现微服务互相调用的Feign、消息总线的Bus和服务跟踪的Sleuth等。
  3.3基础架构关系
  3.3.1微服务与客户端
  微服务系统内部是通过RPC来实现相互调用,在客户端和服务端则是通过基于HTTP的REST方式发送请求来实现信息交流。客户端的请求全都需要经过OAuth2认证以区分所有的请求是来自客户端还是服务端,所以OAuth2就配置在Zuul中,并且在Zuul内还会通过Ribbon实现负载均衡。整个系统都会被Zuul包围,用户如果想发送请求调用到其中的微服务,则请求必须经过Zuul的认证。
  3.3.2微服务的管理、使用和维护
  为了便于开发和维护,所有的微服务都必须会被统一管理,并且包括网关和新添加的服务都会被注册到Eureka。Eure-ka中有注册、更新服务的配置信息,还有关于整个服务系统的配置信息(可以从Git下载)例如版本号等,会由Config一起配置到服务器当中。运行过程中,熔断器Hystrix搭配Turbine一起使用,我们可以通过Turbine提供的图形界面随时获取各处流量负载的信息。
  3.4對负载量过高的处理
  Ribbon可以能够应对一定限度的高并发问题。如果访问量不停增加,出现负载过重,可以利用Hystrix对相应部分的微服务进行熔断。
  4中国微服务架构使用现状
  4.1Dubbo
  Dubbo是阿里巴巴公司开发的开源微服务框架。尽管Dubbo只实现了微服务中的服务化治理,但由于阿里在国内互联网的影响力较大以及中文文档较为完善,开源组件也在国内其他互联网公司中应用,因此Dubbo目前是国内微服务的主流框架。
  4.2相较之下Spring Cloud的前景
  两项技术各有特点,Dubbo在国内的使用更加成熟,不过由于自带的非微服务组件较多,如protocol、register、DubboSPI还有整合各种微服务组件的Dubbo Filter等,上手难度较大,而且维护更新频率较低。而Spring Cloud提供一整套完整的微服务,不仅发展迅速而且持续得到维护更新,更重要的是使用统一的框架技术更符合持续集成、快速交付这一重要理念。尽管现在Spring Cloud不如Dubbo知名度高,但是以后的使用量应该会逐步上升。
  5适合使用微服务的场景
  是否适合使用微服务主要看哪些是不是体量大、访问量大的应用,同时也看应用本身的业务逻辑是否清晰,服务之间是否有明确的界限。
  6微服务的意义
  随着电子化、信息化飞速发展,传统的架构都已经出部分不足之处。如应用划分边界模糊、应用开发分工不明确、高并发问题等。为了更好地避免这些问题,微服务的应用越来越火了。
其他文献
在"互联网+"时代下,大数据已经成为各个产业发展关注的重点,因此各个产业对大数据人才的培养提出了新的要求,因此研究适应产业需求的新型大数据专业一体化课程体系,让学生主
目的:旨在通过特异性环氧合酶-2(COX-2)抑制剂塞来昔布对嘌呤氨基核苷诱导的足细胞凋亡中足细胞COX-2表达水平变化的影响,初步探讨特异性COX-2抑制剂对足细胞保护作用的机制。方
目的:观察初发的2型糖尿病病人经过胰岛素强化治疗后改用口服药物对血糖的影响以及药物成本分析。方法:选取2型糖尿病28例,随机分为两组,疗程12个月。强化组在经胰岛素强化治疗
文章主要是对吉林省医学高职高专院校计算机的教学实施的现状、效果进行调查分析,发现问题并分析问题成因,为高职学校计算机课程的有效实施、完善和创新提供理论依据,同时为
目的:探讨导尿管插入速度与1次插管成功及病人反应之间的关系。方法:78例老年男性留置尿管病人,按自然排序随机分成2组,分别采用缓速和快速插管法插尿管,记录插尿管所需时间及1
目前,某高校某系对教师更新档案资料主要采取的是线下收集及更新的传统模式,该方式不仅仅无法及时更新教师资料,效率低下,也消耗了一定的人力资源和时间成本。针对该现象,主
从培养农林专业学生的大数据分析与应用能力出发,对拟开设的大数据分析与应用课程教学进行初步探索,具体从培养对象和目标、理论与实践教学方法以及师资准备几个方面进行阐述
职业技能竞赛已成为高职院校人才培养水平评估的一项重要指标,也是提升高职学生专业知识与职业技能的有效手段.对于职业院校来说,参加各类职业技能大赛的最终目的在于通过竞
目的:探讨胸腰椎骨折后引起腹胀的原因及改善腹胀的护理对策。方法:对36例胸腰椎骨折患者引起腹胀的原因进行分析并找出相关因素,采取相应的护理干预。结果:通过早期综合护理干
中国在世界的影响力范围逐渐扩大,基础设施建设作为实现教育信息化发展战略目标的首要推动力和重要的物质基础,一直以来都受到国家政府的重视,在其他各国的政策实施下,国家的