场景

关于Eureka

1.提供了Eureka服务端与客户端。

2.主要用于服务管理。

Eureka架构

构建第一个应用

1.建立服务器端。

2.建立服务提供者。

3.建立服务调用者。

实现

建立服务器端

打开eclipse,新建Maven Project--create a simple project

打开pom.xml,添加依赖

<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"><modelVersion>4.0.0</modelVersion><groupId>com.badao.cloud</groupId><artifactId>eureka-server</artifactId><version>0.0.1-SNAPSHOT</version><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.SR3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId></dependency></dependencies>
</project>

新建启动类

代码:

package com.badao.cloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer
public class ServerApplication {public static void main(String[] args) throws Exception {SpringApplication.run(ServerApplication.class, args);}}

注:

@EnableEurekaServer注解是配置为服务端

在resource下新建配置文件application.yml

修改端口号并使其注册为服务器端。

server:port: 8761
eureka:client:register-with-eureka: falsefetch-registry: false

运行启动类效果:

建立服务提供者

打开eclipse,新建Maven Project--create a simple project

打开pom.xml

<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"><modelVersion>4.0.0</modelVersion><groupId>com.bao.cloud</groupId><artifactId>eureka-provide</artifactId><version>0.0.1-SNAPSHOT</version><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.SR3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency></dependencies>
</project>

新建启动类

package com.badao.cloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class ProvideApplication {public static void main(String[] args) throws Exception {SpringApplication.run(ProvideApplication.class, args);}}

新建实体类

package com.badao.cloud;public class Police {private Integer id;private String name;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

新建Controller

package com.badao.cloud;import org.apache.tomcat.util.http.fileupload.ParameterParser;
import org.springframework.http.MediaType;import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;@RestController
public class PoliceController {/*** 指定警员id出警* @param id* @return*/@RequestMapping(value="/call/{id}",method=RequestMethod.GET,produces=MediaType.APPLICATION_JSON_VALUE)public Police call(@PathVariable Integer id){Police police = new Police();police.setId(id);police.setName("警员"+id);return police;}
}

运行启动类,默认8080端口,打开浏览器输入:

http://localhost:8080/call/1

将服务提供者注册到服务器端

打开服务提供者的启动类添加注解:

@EnableEurekaClient

完整代码:

package com.badao.cloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication
@EnableEurekaClient
public class ProvideApplication {public static void main(String[] args) throws Exception {SpringApplication.run(ProvideApplication.class, args);}}

在服务提供者项目下新建配置文件application.yml

spring:application:name: eureka-provide
eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/

重新运行服务提供者的启动类和服务端的启动类

查看服务器端,已经成功注册:

新建服务调用者

打开eclipse,新建Maven Project--create a simple project

打开项目的pom.xml

<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"><modelVersion>4.0.0</modelVersion><groupId>com.badao.cloud</groupId><artifactId>eureka-call</artifactId><version>0.0.1-SNAPSHOT</version><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>Dalston.SR3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-ribbon</artifactId></dependency></dependencies></project>

新建启动类

package com.badao.cloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication
@EnableEurekaClient
public class CallApplication {public static void main(String[] args) throws Exception {SpringApplication.run(CallApplication.class, args);}}

新建Controller

package com.badao.cloud;import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.client.RestTemplate;@Controller
@Configuration
public class TestController {@Bean@LoadBalancedpublic RestTemplate getRestTemplate() {return new RestTemplate();}@GetMapping("/router")@ResponseBodypublic String router() {RestTemplate tpl = getRestTemplate();String json = tpl.getForObject("http://eureka-provide/call/1", String.class);return json;}}

新建配置文件application.yml

server:port: 8081
spring:application:name: eureka-call
eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/

打开浏览器输入:

http://localhost:8081/router

源码下载

https://download.csdn.net/download/badao_liumang_qizhi/11206065

SpringCloud学习之运行第一个Eureka程序相关推荐

  1. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序

    文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...

  2. Hadoop学习全程记录——在Eclipse中运行第一个MapReduce程序

    网友分享,拿来共享一下 这是Hadoop学习全程记录第2篇,在这篇里我将介绍一下如何在Eclipse下写第一个MapReduce程序. 新说明一下我的开发环境: 操作系统:在windows下使用wub ...

  3. MyBatis学习笔记2 ——第一个MyBatis程序

    MyBatis学习笔记2 --第一个MyBatis程序 参考教程B站狂神https://www.bilibili.com/video/BV1NE411Q7Nx 环境搭建 建立一个mybatis数据库用 ...

  4. Spark学习笔记1——第一个Spark程序:单词数统计

    Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...

  5. C#.NET学习笔记2---C#.第一个C#程序

    C#.NET学习笔记2---C#.第一个C#程序 技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:__________以前的网站现在不弄了,抱歉 6.第一个 ...

  6. cmd 将文件夹下文件剪切到另外一个文件_手把手教你运行第一个 Java 程序,看不懂你来骂我!...

    码字不易,对你有帮助 **点赞 /转发↪️/关注 ** 支持一下作者 微信搜公众号:不会编程的程序圆br/>看更多干货,获取第一时间更新 在运行第一个 java 程序之前,你需要先将 java ...

  7. 调试运行第一个xv6程序

    原文可在调试运行第一个Xv6程序查看到,后续的更新将会更新到个人博客 Xv6 刚启动的时候处于 Machine Mode,完成基本配置工作后就会尽快跳转到 Supervisor Mode,在这个模式下 ...

  8. JDK下载、安装、运行第一个Java程序的过程以及javac不是内部或外部命令的解决办法

    JDK下载.安装.运行第一个Java程序的过程以及javac不是内部或外部命令的解决办法 1.下载和安装JDK开发环境 下载地址:https://www.oracle.com/technetwork/ ...

  9. 强哥带你零基础学java-03运行第一个java程序

    java是什么,java是一种编程语言的名字,在生活中,我们知道的有汉语,英语.运用汉语语法,我们可以写一篇文章.同样的道理,用java的语法,我们就可以写程序了. 那么现在的问题是,要如何来写呢?现 ...

最新文章

  1. 微信公众平台OAuth2.0授权
  2. Remove Linked List Elements
  3. C/C++ 中长度为0的数组
  4. js文件中加载其他js文件
  5. ipad UISplitViewController 导航视图控制器标题设置
  6. UNIX网络编程学习笔记(代码超详细解析)(持续更新)
  7. unity 2020 怎么写shader使其接受光照?_用Unity实现半条命Alyx中的液体物理效果
  8. linux服务端口加密,linux – 如何通过单个端口处理加密和未加密的http连接
  9. 高质量 Android 开发框架 LoonAndroid 详解
  10. div默认外边距是多少_CSS盒模型之内边距、边框、外边距 十九问(持续更新)...
  11. 移动端的click事件延迟触发的原理是什么?如何解决这个问题?
  12. Buck-Boost电路
  13. .Net Core的优势
  14. 基于昇腾AI异构计算架构CANN的通用目标检测与识别一站式方案初体验
  15. 干货分享 | B站SLO由失败转成功,B站SRE做对了什么?
  16. Centos7 出现xxx不在sudoers文件中的解决方案
  17. [DP]hdu5234
  18. ByteDance字节跳动张一鸣:如何阅读、如何了解自己、如何与人沟通沟通、如何安排时间、如何正确的看待别人意见、如何激励自己、如何写作、如何坚持锻炼身体、如何耐心?...
  19. Win10右下角小图标怎么叠起来?
  20. 计算机主机通电启动不了,电脑不通电,开机没反应?这里有问题!

热门文章

  1. jq定制上传按钮,选择文件就上传
  2. linux shell脚本写法,linux: 常用shell脚本写法
  3. ds1302模块 树莓派_(16)给树莓派B+ 安装一个实时时钟芯片DS1302
  4. python五子棋双人对弈_PyQt5实现五子棋游戏(人机对弈)
  5. 1、计算机网络之计算机之间的连接方式
  6. java dbtype_java 动态操作数据库
  7. stm32捕获占空比_基于STM32超声波避障小车
  8. nginx 转发慢_学习Nginx的正确姿势,多图详解助你更上一层楼!(干货收藏篇)...
  9. c 指定端口连接mysql_c++连接mysql(MYSQL C api使用)
  10. 逆向建模软件介绍_逆向技术在2代机修理中的应用