微服务架构风格是一种将单机应用程序开发为一组小型服务的方法,每个小服务运行在自己的进程中,并以轻量级的机制来进行通信。这些服务围绕着业务能力所建立,并且由完全自动化的部署机构独立部署,这些服务的集中管理只有最低限度,可以用不同的编程语言编写并使用不同的数据库存储技术。
任何架构都不是一蹴而就的,每一种架构其实都是为了解决以往我们业务所产生的痛点而设计的。
垂直划分的分布式应用具有哪些问题?
多系统间协作其实是一件比较困难的事情
系统间通信困难
系统的内部复杂度对外暴露
系统间的调用关系复杂
过度的重复建设
“大一统”的架构设计
微服务架构又是如何解决这些问题的
构建基于业务、可重用、职责明确的小型服务;
统一的通信标准,轻量级的通信协议,通常这里的通信协议是指的 RESTful;
可独立运行,独立存储由独立团队进行维护。
分布式系统传统的问题是如何通过微服务架构解决的
RESTful 是基于 HTTP 协议的轻量级通信方式。它并不强制要求客户端一定持有通信对象,可以使用 Java 中的 HttpClient或者 OkHttp 组件,发起标准的 HTTP 请求就可以通信,返回的数据也是标准的 JSON 结构。
屏蔽分布式应用的应用复杂度,假设贷后服务额外增加了两个节点,对于微服务架构来说,它有一个关键组件名为注册中心
内建链路跟踪体系
是减少重复建设,基础数据管理更加集中。在微服务体系中,这里有一个用户认证中心的服务
更有弹性的架构设计。假如借款人门户需要全文检索的支持,那么与之对应的普惠金融服务中,便可以为其专门增加 Elasticsearch 来进行支持。对于某一个服务加入新的特性,并不影响其他服务的运行。
《人月神话》一书中反复提到“世界上没有银弹”,任何架构都有自己的缺点
标签:服务,分布式应用,服务化,通信协议,通信,看微,架构,轻量级 From: https://www.cnblogs.com/jiaozg/p/17218711.html