一个C#开发者学习SpringCloud搭建微服务的心路历程
前言
Spring Cloud很火,很多文章都有介绍如何使用,但对于我这种初学者,我需要从创建项目开始学起,所以这些文章对于我的启蒙,帮助不大,所以只好自己写一篇文章,用于备忘。
SpringCloud是封装了Netflix公司开发的Eureka模块来实现服务注册和发现。下图为Spring Cloud Eureka的本版列表:
下图为Spring Cloud 微服务的各个实现的总览。
创建父项目
首先,我们打开IEDA创建项目,然后选择Maven选项,然后点击下一步,如下图:
创建完成后,是一个空的Java父项目,如下图:
创建服务查询中心子项目——EurekaServer
EurekaServer是用于服务查询的,C#开发者可能更熟悉consul,虽然用法不一样,但实现的效果是一样的。
现在我们创建一个服务查询中心项目,在项目上右键–>new–>Module–>Spring Initializr–>next,选择和父类项目同一版本的jdk,如下图:
然后选择SpringCloudDiscovery—EurekaServer,如下图:
创建完成如下图所示:
打开新建的项目的入口文件——EurekaserverApplication,为EurekaserverApplication类增加注解@EnableEurekaServer,这个注解会将当前类标记为Eureka Server。
然后修改application.properties为application.yml,编写代码如下:
# 配置启动端口 server: port: 5180 # 配置eureka eureka: instance: hostname: localhost client: fetch-registry: false # 表示是否从Eureka Server获取注册信息,默认为true.因为这是一个单点的Eureka Server,不需要同步其他的Eureka Server节点的数据,这里设置为false register-with-eureka: false # 表示是否将自己注册到Eureka Server,默认为true.由于当前应用就是Eureka Server,故而设置为false. service-url: # 设置与Eureka Server的地址,查询服务和注册服务都需要依赖这个地址.默认是http://localhost:8761/eureka/;多个地址可使用","风格. defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/