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相关总结相关推荐

  1. JAVA Spring Cloud 注册中心 Eureka 相关配置

    转载至  https://www.cnblogs.com/fangfuhai/p/7070325.html Eureka客户端配置       1.RegistryFetchIntervalSecon ...

  2. 微服务发现与注册之Eureka源码分析

    作者:陌北有棵树,Java人,架构师社区合伙人! [一]微服务之服务发现概述 关于微服务,近年来可谓是大火,业界也吹刮着一种实践微服务的风潮.本人有幸在去年参与到一个向微服务过渡的产品,再结合自己所学 ...

  3. Spring Cloud Alibaba迁移指南(二):零代码替换 Eureka

    为什么80%的码农都做不了架构师?>>>    自 Spring Cloud 官方宣布 Spring Cloud Netflix 进入维护状态后,我们开始制作<Spring C ...

  4. Spring Cloud Eureka 入门 (三)服务消费者详解

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "真正的进步 ...

  5. eureka自我保护时间_阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默...

    文章首发:阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默 什么是服务注册? 首先我们来了解下,服务注册.服务发现和服务注册中心的之间的关系. 举个形象的例子,三者之间的关系就好像是供货 ...

  6. SpringCloud微服务架构,Spring Cloud 服务治理(Eureka,Consul,Nacos),Ribbon 客户端负载均衡,RestTemplate与OpenFeign实现远程调用

    什么是SpringCloud 微服务架构 • "微服务"一词源于 Martin Fowler的名为 Microservices的博文,可以在他的官方博客上找到 http://mar ...

  7. eureka集群只注册一个_Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇

    Spring cloud系列教程第十篇- Spring cloud整合Eureka总结篇 本文主要内容: 1:spring cloud整合Eureka总结 本文是由凯哥(凯哥Java:kagejava ...

  8. Spring Cloud Eureka 入门 (二)服务提供者详解

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! "优秀不是过 ...

  9. eureka需要替换吗_Spring Cloud Alibaba迁移指南1:零代码从Eureka迁移到Nacos

    作者:得少,校对:周立. 在本号首发,欢迎转载. Spring Cloud官方宣布Spring Cloud Netflix进入维护状态,后续不再会有新的功能已成为事实. 作为开发者,如何使用极简的方式 ...

最新文章

  1. VS2017读取ini 文件中文乱码
  2. openresty开发系列33--openresty执行流程之3重写rewrite和重定向
  3. 易语言 java支持_开源Java客户端可以连接易语言服务器
  4. html盒子模型 1209
  5. thinkphp mysql高并发_WBB - ThinkPhp高并发提交如何保障数据正常
  6. 探讨一个好算法——找出一百万个数字中十个最大数字的算法
  7. Web开发技术——JQuery8(添加元素和删除元素)
  8. ASP.NET CORE中使用SESSION
  9. 第四届江西省高校网络安全技能大赛初赛WebMisc—Writeup
  10. 微信安装包 11 年膨胀 575 倍?QQ安装包800M?谁在抢你的手机内存?
  11. Prime triplets (Project Euler 196)
  12. 2019暑假牛客训练赛(补题及笔记)
  13. git clone 项目时总是提示输入密码
  14. fork()创建子进程步骤、函数用法及常见考点(内附fork()过程图)
  15. ios 画线平滑_ios-iPhone平滑草图绘制算法
  16. 每日一题----空瓶子喝可乐问题
  17. 智慧工地施工如何应用室内定位uwb技术
  18. DHCP分配ip地址。0.0.0.0与255.255.255.255
  19. i386和X86是什么意思
  20. STM32F407——RC522(模拟SPI)

热门文章

  1. TabLayout使用介绍
  2. python中非0即True,0即False
  3. 12-factors(12要素原则从理论上来看是很,不知道实际中会怎样)
  4. 阿里云,华为云哪个好?
  5. 一张图解读小米公司的商业模式
  6. Linux下安装oracle11.2.0.4
  7. 登录163邮箱续费情况怎么查询?163vip邮箱怎么收费?
  8. 什么模式才是安防渠道商们的未来?
  9. 计算机博士要几篇顶会论文,我,斯坦福读博,5年5篇顶会论文,却依然觉得研究生涯充满挫折...
  10. 词干抽取java实现_LinkedIn文本分析平台:主题挖掘的四大技术步骤