企业级Java微服务1:简介

tech2026-03-04  2

企业级Java

 

什么是企业级Java?就是为了满足企业开发需求的Java。包括:

1. 前端UI

2. 后端数据库

3. 通过web服务与其他应用交互

4. 与内部系统交互

最常见的企业级Java框架:JavaEE、Spring

 

传统Java项目架构

 

模型、服务层作为jar包打包,controller、view作为war包打包。

进化后的架构:

 

单体架构的缺点

 

1. 单模块扩展不可行。对单个模块无法扩展,需要整个实例扩展。

2. 单模块的性能问题。单个模块性能较差会拖垮整个实例。

3. 单模块的部署不可行。对代码的修改会导致整个实例的重新部署。

4. 代码复杂度高。单体应用存在强耦合的问题。

5. 测试困难。单体应用不便于测试。

 

微服务与分布式架构

 

 

一个微服务关注单个任务,便于修改、伸缩、部署。微服务之间通过网络调用联系在一起,便于形成分布式架构。

 

微服务架构

 

一个微服务架构是多个微服务模块构成的,网关接受请求并进行路由,经微服务处理后,返回数据。

 

分布式架构的优势

 

1. 服务是独立分布的。在物理上是否属于同一台机器都是不确定的,也就是说微服务的部署位置无碍功能的实现。

2. 服务是语言独立的。对编程语言没有什么限制。

3. 服务部署是相对独立的。单一职责设计会减少测试的难度,对服务的部署也是有利的。小而精的模块。

4. 新服务的定义不会过度影响现有的服务,并可以组合现有服务实现新的功能。

 

分布式架构所带来的问题

 

1. 分布式架构对服务的部署位置没有要求,但是服务直接怎么找到彼此?我们需要一个功能,根据服务名称即可查找服务的地址。这就是服务发现。

2. 在不影响用户的情况下,怎么处理失败?需要提供容错及恢复能力。

3. 数以百计的微服务,如何完成对服务的监测?

 

 

最新回复(0)