Eureka是干什么用的呢?
近期公司有需要,从做UI的转去做Java,所以接触到了后台项目,过程中又碰到很多问题,当然有部分自己能看懂有一些需要自己研究。 这里就分享一下代码分析的过程把: 首先,项目比较新,是spring boot + cloud + openFeign做的一个比较现代化的BE项目把(公司很多老项目)。 在逐步了解的过程中,了解到微服务的体系,使用的是Eureka(注册微服务的平台) + OpenFeign(调用微服务的)。 那现在就开始做一些简单的demo理清楚这其中的逻辑,首先找了B站的一些视频先做了初步了解,然后跟着慢慢一步步自己搭建环境。 首先java的环境就不多说了,IDEA工具,准备好了之后就开始待见项目。
第一步:新建一个spring boot + spring cloud项目,然后我们是一个web项目,而且当前的项目作为一个注册中心,需要选中Eureka server,如下
建完了Eureka Server注册中心的项目之后,会创建项目并且下载依赖。
额外说一下这个maven,因为国内下载速度比较满,建议直接把maven配置文件setting.xml的地址改成阿里云的地址(详细的baidu),其次需要把IDEA的maven配置指向你所要改的setting.xml。如果需要每次新建项目或者下载依赖都是用该地址在File -> Other Setting中设置。
这样一个Eureka注册中心项目就创建OK(需要在Eureka项目的启动类中引入@EnableEurekaServer)。
第二步:现在项目已经创建好了,需要给项目加配置,如下,application.yml
这其中的register-with-eureka参数代表的意思是是否将自己注册为注册中,为什么会有这么一个概念,这就涉及到一个集群的概念,多个服务可能不会都向一个注册中心注册,可能有1,2,3多个注册中心,那注册中心自己又需要往哪里注册呢,就是相互注册,我给你注册,你给我注册,,具体可以参照Eureka官方文档。
第三步:现在注册中心也已经准备好了,现在就是准备两个spring boot项目往注册中心注册,这次我们新建项目就不选择Eureka Serve,而是Client,如下
因为现在我们是客户端,需要去注册中心注册,让其他的服务发现我们。实现相互调用,至此我们将创建的三个项目都启动,之后打开eureka注册中心的地址,也就是http://localhost:8761/
可以看到两个web项目都已经成功在Eureka Server中创建成功,接下来就是在两个web项目中使用OpenFeign调用微服务(需要在web项目的启动类中引入@EnableFeignClients)
第四步:我们项目将web项目中的主体结构搭建一下,Service文件以及对应的实现impl文件,然后创建OpenFeign interface接口,调用微服务中对应的接口,提供给impl调用
现在需要在当前的项目中暴露出对外调用的接口地址,增加Controller文件,调用对应的Service中定义的方法,至此我们的微服务调用结束。