前言
欢迎来到菜鸟SpringCloud入门实战系列(SpringCloudForNoob),该系列通过层层递进的实战视角,来一步步学习和理解SpringCloud。
本系列适合有一定Java以及SpringBoot基础的同学阅读。
每篇文章末尾都附有本文对应的Github源代码,方便同学调试。
Github仓库地址:
https://github.com/qqxx6661/springcloud_for_noob
菜鸟SpringCloud入门实战系列
你还可以通过以下两种途径查看菜鸟SpringCloud入门实战系列:
- 关注我的公众号:Rude3Knife 点击公众号下方:技术推文——SpringCloud
- 菜鸟SpringCloud实战专栏(CSDN)
实战版本
- SpringBoot:2.0.3.RELEASE
- SpringCloud:Finchley.RELEASE
-----正文开始-----
创建服务提供者并在Eureka进行注册
首先创建子模块eureka-hi,作为服务提供者模块
编辑其pom.xml:
4.0.0
eureka-hi
0.0.1-SNAPSHOT
eureka-hi
jar
Demo project for Spring Boot
com.pricemonitor
springcloud
0.0.1-SNAPSHOT
之后别忘了在主模块pom加上该子模块:
eureka
eureka-hi
添加注解@EnableEurekaClient
注意,服务调用者是一个需要注册到Eureka的客户端,所以是client不是server。
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
@EnableEurekaClient
public class EurekaHiApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaHiApplication.class, args);
}
/**
* 获取端口号
*/
@Value("${server.port}")
String port;
/**
* 定义一个简单接口
*
* @param name
* @return
*/
@GetMapping("/hi/{name}")
public String home(@PathVariable String name) {
return "hi " + name + ",I am from port :" + port;
}
}
代码重点:
- 实现了一个简易的RESTful接口
- 添加@EnableEurekaClient
编辑配置文件application.yml
# 端口号
server:
port: 8763
# 服务名称,即serviceId
spring:
application:
name: service-hi
# 服务注册与发现相关配置
eureka:
client:
# 服务注册地址
serviceUrl:
defaultZone: http://localhost:8761/eureka/
代码重点:
- defaultZone: http://localhost:8761/eureka/, 这里将该服务注册到localhost:8761
运行
同时运行刚才端口8761的eureka和端口8763的eureka-hi模块,这里使用很方便的IDEA Run DashBoard。在Run Dashboard里可以同时对几个应用进行运行停止等操作。
查看:http://localhost:8761/
发现服务端有了正在提供服务的SERVICE-HI
查看:http://localhost:8763/hi/rude3knife
说明服务可以直接调用
问题来了,如果关闭了8761端口的eureka server,会发生什么情况?
如果关闭了8761端口的eureka,直接访问http://localhost:8763/hi/xxxx,eureka-hi控制台已经开始报错,无法连接上Eureka注册中心。
让我们重新运行Eureka注册中心
重新运行后,8763的eureka-hi服务又自动重新在8761的注册中心处进行了注册。
本文教程所对应工程代码
https://github.com/qqxx6661/springcloud_for_noob/tree/master/02-eureka-hi
参考
Spring-Cloud笔记03:服务注册中心Eureka Server的简单配置、访问控制配置以及高可用配置
https://blog.csdn.net/hanchao5272/article/details/80561199
springcloud(三):服务提供与调用
http://www.ityouknow.com/springcloud/2017/05/12/eureka-provider-constomer.html
-----正文结束-----
全复习手册文章导航:通过以下两种途径查看
- 关注我的公众号:Rude3Knife 点击公众号下方:技术推文——SpringCloud
- 菜鸟SpringCloud实战专栏(CSDN)
菜鸟SpringCloud实战专栏
- [菜鸟SpringCloud入门]第一章:构建多模块的Maven项目+创建注册中心Eureka子模块
- ...请查看上方菜鸟SpringCloud入门实战系列全文导航
关注我
我是蛮三刀把刀,后端开发。
主要关注后端开发,数据安全,爬虫等方向。
来微信和我聊聊:yangzd1102
Github个人主页:https://github.com/qqxx6661
原创博客主要内容
- Java知识点复习全手册
- Leetcode算法题解析
- 剑指offer算法题解析
- Python爬虫相关技术实战
- 后端开发相关技术实战
- SpringCloud入门实战
同步更新公众号及以下博客
1. Csdn
http://blog.csdn.net/qqxx6661
拥有专栏:
- Leetcode题解(Java/Python)
- Python爬虫实战
- Java程序员知识点复习手册
- SpringCloud入门实战
2. 知乎
https://www.zhihu.com/people/yang-zhen-dong-1/
拥有专栏:
- Java程序员面试复习手册
- LeetCode算法题详解与代码实现
- 后台开发实战
3. 掘金
https://juejin.im/user/5b48015ce51d45191462ba55
4.
https://www.jianshu.com/u/b5f225ca2376
个人公众号:Rude3Knife
如果文章对你有帮助,不妨收藏起来并转发给您的朋友们~