hjr-微服务(一):认识JAVA微服务

本文深入浅出地介绍了Java微服务的概念,包括将大型后端系统拆分成多个独立部署的进程,使用RPC框架简化服务间通信,通过网关统一入口并进行请求转发,以及利用注册中心进行服务管理和监控。文中提到了Spring Cloud生态中的Eureka作为注册中心,Feign作为RPC框架,Zuul作为网关,这些组件构成了基础的微服务体系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先我希望能用三言两语,把微服务解释清楚,因此尽量避免废话,
然后这里说的都是JAVA的

概念

原先一个大web后端系统是一个java进程,包含全部的功能
缺点是

  1. 改一句代码需要全部重新打包部署
  2. 开发人员每个人都从git clone了全部的代码,看着就头疼

因此我们

  1. 把一个大系统拆分成多个java进程

  2. 每个java进程负责一部分业务,比如一个负责用户相关的,一个负责订单相关的,分别两个人负责

  3. 然后放到两个git上,两个开发人员各自维护自己的git即可,分别可以独立部署

然后我们会发现,如果用户服务和订单服务需要数据交互怎么办,因此出现了RPC框架

  1. 开发用户服务的,本身他的服务是给前端用户的API,现在他再写一套的给开发其他服务的后端人员使用的RPC的API
  2. 前端的API和后端的RPC的API的区别是,后端调用的时候不用写那么多代码,直接像引入了一个工具类,然后直接调用方法,的方式就可以访问其他服务的API,而前端需要写ajax请求,写很多代码

然后我们发现虽然服务间数据交互简单了,但是因为每个服务独立部署,因此前端开发访问用户服务和订单服务可能是两个不同的IP和端口,因此

  1. 我们加入一个网关服务,前端对后端所有的请求都直接访问网关服务的ip和端口,然后网关转发到各个微服务里,顺便还可以在这做入口的拦截,日志记录等处理。

然后我们发现,这么多服务那么混乱,有没有一个统一的地方,把所有服务都列出来,然后可以看每个服务的状态和ip端口呢,因此

  1. 注册中心服务出现了,所有服务都在配置文件里写上注册中心的ip和端口,然后全都注册到注册中心服务里去,然后在注册中心web界面里监控全部的服务

以上已经可以足够做到最简单的微服务系统了,因此到此为止。

一句话总结,注册中心管理所有的微服务,网关把前端请求转发到所有的微服务,RPC是一种不同服务间简单方便的通信方式,有这三个就已经足够搭建最基础的微服务环境了

框架

这里我们使用 spring clould 一系列组件,关于各种技术选型我这里只说个人研究后的最佳结果,不说原因,原因已经经过大量分析,这里主要是记录和教程,不做讨论。

然后eureka作为注册中心

feign作为RPC框架

zuul作为网关

实践

以上概念+实现概念的具体的技术框架就可以搭建一个微服务系统了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

架构师小侯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值