Eureka相关总结
Eureka
一、搭建Eureka单机版或者集群版
<1>新建Pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>cloud2020</artifactId><groupId>com.wlq</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-eureka-server7002</artifactId><dependencies><!--eureka-server--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency><!--引入自己定义的api调用包,可以使用Payment支付Entity--><dependency><groupId>com.wlq</groupId><artifactId>cloud-api-commons</artifactId><version>${project.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency></dependencies></project>
<2>新建application.yml文件
server:port: 7001eureka:instance:hostname: localhost#hostname: localhostclient:#false表示不向注册中心中注册自己,注册register-with-eureka: false#false表示自己就是注册中心,我的职责就是维护服务实例,并不需要去检索服务,拿fetch-registry: falseservice-url:#单机版#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/#defaultZone: http://activate.navicat.com:7001/eureka/#设置与Eureka Server之间交互的地址,查询服务和注册服务都需要依赖这个地址defaultZone: http://activate.navicat.com:7002/eureka/ #集群版,指向其他Eureka#server:#关闭Eureka自我保护机制,保证不可用服务被及时剔除#enable-self-preservation: false#eviction-interval-timer-in-ms: 2000
server:port: 7002eureka:instance:hostname: activate.navicat.com#hostname: localhostclient:#false表示不向注册中心中注册自己,注册register-with-eureka: false#false表示自己就是注册中心,我的职责就是维护服务实例,并不需要去检索服务,拿fetch-registry: falseservice-url:#单机版#defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/#设置与Eureka Server之间交互的地址,查询服务和注册服务都需要依赖这个地址defaultZone: http://localhost:7001/eureka/ #集群版,指向其他Eureka#server:#关闭Eureka自我保护机制,保证不可用服务被及时剔除#enable-self-preservation: false#eviction-interval-timer-in-ms: 2000
<3>新建applicationMain启动类
<4>编写业务类
二、提供者
<1>新建Pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>cloud2020</artifactId><groupId>com.wlq</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-provider-payment8001</artifactId><dependencies><!-- 包含了sleuth+zipkin --><!--<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId></dependency>--><!--引入自己定义的api调用包,可以使用Payment支付Entity--><dependency><groupId>com.wlq</groupId><artifactId>cloud-api-commons</artifactId><version>${project.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.1.10</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><!-- eureka-client --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency></dependencies></project>
<2>新建application.yml文件
server:port: 8001spring:application:name: cloud-payment-servicedatasource:type: com.alibaba.druid.pool.DruidDataSource #当前数据源操作类型driver-class-name: com.mysql.cj.jdbc.Driver #mysql驱动包url: jdbc:mysql://localhost:3306/db2019?connectTimeout=1000&socketTimeout=300000&autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&allowMultiQueries=trueusername: rootpassword: rootmybatis:mapperlocations: classpath:mapper/*.xmltype-aliases-package: com.springcloud.entities #所有Entity别名类所在包eureka:client:#false表示不向注册中心中注册自己,注册register-with-eureka: true#false表示自己就是注册中心,我的职责就是维护服务实例,并不需要去检索服务,拿fetch-registry: trueservice-url:#defaultZone: http://localhost:7001/eureka #单机版defaultZone: http://localhost:7001/eureka/,http://activate.navicat.com:7002/eureka/ #集群版#instance:#instance-id: payment8001 #修改Status名称#prefer-ip-address: true #访问路径可以显示IP地址
server:port: 8002
多个相同的提供着,只需要修改端口号就可以了
<3>新建applicationMain启动类
<4>编写业务类
三、消费者
<1>新建Pom.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>cloud2020</artifactId><groupId>com.wlq</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-consumer-order80</artifactId><dependencies><!-- 包含了sleuth+zipkin --><!--<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId></dependency>--><!-- eureka-client --><!-- 自带spring-cloud-starter-ribbon --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><!--引入自己定义的api调用包,可以使用Payment支付Entity--><dependency><groupId>com.wlq</groupId><artifactId>cloud-api-commons</artifactId><version>${project.version}</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies></project>
<2>新建application.yml文件
server:port: 80spring:application:name: cloud-consumer-ordereureka:client:#false表示不向注册中心中注册自己,注册register-with-eureka: true#false表示自己就是注册中心,我的职责就是维护服务实例,并不需要去检索服务,拿fetch-registry: trueservice-url:#defaultZone: http://localhost:7001/eureka #单机版defaultZone: http://localhost:7001/eureka/,http://activate.navicat.com:7002/eureka/ #集群版#instance:#instance-id: payment8001 #修改Status名称#prefer-ip-address: true #访问路径可以显示IP地址
<3>新建applicationMain启动类
<4>编写业务类
@RestController
@Slf4j
public class OrderController {public static final String PAYMENT_URL="http://localhost:8001";// 通过在eureka上注册过的微服务名称调用public static final String PAYMENT_SRV = "http://CLOUD-PAYMENT-SERVICE";@Resourceprivate RestTemplate restTemplate;@PostMapping("/order/create")public CommonResult creat(@RequestBody Payment payment) {return restTemplate.postForObject(PAYMENT_SRV+"/payment/create",payment,CommonResult.class);}@GetMapping("/order/get/{id}")public CommonResult get(@PathVariable("id") long id) {return restTemplate.getForObject(PAYMENT_SRV+"/payment/get/"+id,CommonResult.class);}}
@Configuration
public class ApplicationContextConfig {@Bean@LoadBalanced //轮询public RestTemplate getRestTemplate(){return new RestTemplate();}
}
Eureka相关总结相关推荐
- JAVA Spring Cloud 注册中心 Eureka 相关配置
转载至 https://www.cnblogs.com/fangfuhai/p/7070325.html Eureka客户端配置 1.RegistryFetchIntervalSecon ...
- 微服务发现与注册之Eureka源码分析
作者:陌北有棵树,Java人,架构师社区合伙人! [一]微服务之服务发现概述 关于微服务,近年来可谓是大火,业界也吹刮着一种实践微服务的风潮.本人有幸在去年参与到一个向微服务过渡的产品,再结合自己所学 ...
- Spring Cloud Alibaba迁移指南(二):零代码替换 Eureka
为什么80%的码农都做不了架构师?>>> 自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring C ...
- Spring Cloud Eureka 入门 (三)服务消费者详解
2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "真正的进步 ...
- eureka自我保护时间_阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默...
文章首发:阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默 什么是服务注册? 首先我们来了解下,服务注册.服务发现和服务注册中心的之间的关系. 举个形象的例子,三者之间的关系就好像是供货 ...
- SpringCloud微服务架构,Spring Cloud 服务治理(Eureka,Consul,Nacos),Ribbon 客户端负载均衡,RestTemplate与OpenFeign实现远程调用
什么是SpringCloud 微服务架构 • "微服务"一词源于 Martin Fowler的名为 Microservices的博文,可以在他的官方博客上找到 http://mar ...
- eureka集群只注册一个_Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇
Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇 本文主要内容: 1:spring cloud整合Eureka总结 本文是由凯哥(凯哥Java:kagejava ...
- Spring Cloud Eureka 入门 (二)服务提供者详解
2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "优秀不是过 ...
- eureka需要替换吗_Spring Cloud Alibaba迁移指南1:零代码从Eureka迁移到Nacos
作者:得少,校对:周立. 在本号首发,欢迎转载. Spring Cloud官方宣布Spring Cloud Netflix进入维护状态,后续不再会有新的功能已成为事实. 作为开发者,如何使用极简的方式 ...
最新文章
- VS2017读取ini 文件中文乱码
- openresty开发系列33--openresty执行流程之3重写rewrite和重定向
- 易语言 java支持_开源Java客户端可以连接易语言服务器
- html盒子模型 1209
- thinkphp mysql高并发_WBB - ThinkPhp高并发提交如何保障数据正常
- 探讨一个好算法——找出一百万个数字中十个最大数字的算法
- Web开发技术——JQuery8(添加元素和删除元素)
- ASP.NET CORE中使用SESSION
- 第四届江西省高校网络安全技能大赛初赛WebMisc—Writeup
- 微信安装包 11 年膨胀 575 倍?QQ安装包800M?谁在抢你的手机内存?
- Prime triplets (Project Euler 196)
- 2019暑假牛客训练赛(补题及笔记)
- git clone 项目时总是提示输入密码
- fork()创建子进程步骤、函数用法及常见考点(内附fork()过程图)
- ios 画线平滑_ios-iPhone平滑草图绘制算法
- 每日一题----空瓶子喝可乐问题
- 智慧工地施工如何应用室内定位uwb技术
- DHCP分配ip地址。0.0.0.0与255.255.255.255
- i386和X86是什么意思
- STM32F407——RC522(模拟SPI)
热门文章
- TabLayout使用介绍
- python中非0即True,0即False
- 12-factors(12要素原则从理论上来看是很,不知道实际中会怎样)
- 阿里云,华为云哪个好?
- 一张图解读小米公司的商业模式
- Linux下安装oracle11.2.0.4
- 登录163邮箱续费情况怎么查询?163vip邮箱怎么收费?
- 什么模式才是安防渠道商们的未来?
- 计算机博士要几篇顶会论文,我,斯坦福读博,5年5篇顶会论文,却依然觉得研究生涯充满挫折...
- 词干抽取java实现_LinkedIn文本分析平台:主题挖掘的四大技术步骤