关于java:微服务中-微-到底是什么

33次阅读

共计 963 个字符,预计需要花费 3 分钟才能阅读完成。

作者:fredalxin\
地址:https://fredal.xin/talking-ms…

微服务是什么

抛去教条性质的解释,从巨石利用到微服务利用,耦合度是其中最大的变动。或是将多个模块中反复的局部进行拆分,或是纯正为了拆分收缩的单体利用,这些拆分进去的局部独立成一个服务独自部署与保护,便是微服务了。

拆分后自然而然会催生出一些必要的需要:

  1. 从本地办法调用的关系衍变成近程过程调用的关系,那么牢靠的通信性能是首要的。
  2. 随着拆分工作的推动,资源调度关系会变得盘根错节,这时候须要欠缺的服务治理。
  3. 调用关系网的整体复杂化还会给咱们带来更大的危险,即链式反应导致服务雪崩的可能性,所以如何保障服务稳定性也是微服务架构中须要思考的。
  4. 这点就不是内需而算是自我演进了,服务化后,如果能联合容器化、Devops 技术实现服务运维一体化,将大大降低微服务保护的老本,不论是当初还是未来。

微服务是什么样的

从目前常见网站架构的宏观角度看,微服务处在两头的档次。红框圈出的局部都属于微服务的领域。包含最根底的 rpc 框架、注册核心、配置核心,以及更狭义角度的监控追踪、治理核心、调度核心等。

从微服务本身角度来看,则大抵会蕴含以下这些模块:

  • 服务注册与发现
  • rpc 近程调用
  • 路由与负载平衡
  • 服务监控
  • 服务治理

服务化的前提

是不是只有套上微服务框架就算是一个微服务了呢?尽管这样有了微服务的表,但却没有微服务的本质,即”微“。微服务化的前提是服务拆分到足够”微“,足够繁多职责,当然拆分水平与服务边界都须要联合业务自行把握。

狭义的服务拆分即蕴含了利用拆分,也蕴含了数据拆分。

利用拆分后须要引入微服务框架来进行服务通信与服务治理,这也就是传统定义上的微服务。

数据拆分后同样须要引入一系列伎俩来进行保障,因为不是与微服务强相干的话题,在此只做简略论述:

  • 分布式 id
  • 新表优化
  • 数据迁徙与数据同步
  • sql 调用计划革新
  • 切库计划
  • 数据一致性

近期热文举荐:

1.600+ 道 Java 面试题及答案整顿 (2021 最新版)

2. 终于靠开源我的项目弄到 IntelliJ IDEA 激活码了,真香!

3. 阿里 Mock 工具正式开源,干掉市面上所有 Mock 工具!

4.Spring Cloud 2020.0.0 正式公布,全新颠覆性版本!

5.《Java 开发手册(嵩山版)》最新公布,速速下载!

感觉不错,别忘了顺手点赞 + 转发哦!

正文完
 0