第一节:服务注册与服务发现
前言
大宇也是第一次学习SpringCloud哦,难免遇到很多困难。想必很多同学也会跟我一样。
看了方志朋 史上最简单的 SpringCloud 教程,被方老师的文风深深吸引,在此特别感谢方老师。
俗话说,纸上得来终觉浅,绝知此事要躬行。学编程,自己手撸一遍代码不失为一种好方法,所以,让我们开始吧。
一、环境准备
首先创建了一个Maven环境。修改Pom文件,导入SpringCloud的依赖。用Eureka作为服务注册与发现的组件。
<?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"><modelVersion>4.0.0</modelVersion><groupId>com.safesoft</groupId><artifactId>main</artifactId><version>1.0-SNAPSHOT</version><name>main</name><url>http://www.example.com</url><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELEASE</version><relativePath/></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><spring-cloud.version>Finchley.RELEASE</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>
</project>
二、创建服务注册中心 Eureka -- Server
右击项目,选择New--Module,选择Maven,点击next,再输入模块名server即可。
2.1 注册中心导入依赖
<?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>main</artifactId><groupId>com.safesoft</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>server</artifactId><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency></dependencies></project>
2.2 编写配置文件
eureka server的配置文件application.yml。
#使用8761端口
server:port: 8761eureka:instance:hostname: localhostclient:#下面两个false说明自己是一个 Eureka ServerregisterWithEureka: falsefetchRegistry: false#服务中心的地址serviceUrl:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/#此服务器名称
spring:application:name: eurka-server
2.3 编写启动类
@SpringBootApplication表明这个类是SpringBoot启动的入口。
@EnableEurekaServer 表明这是一个注册中心。
package com.safesoft.server;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;/*** @author jay.zhou* @date 2019/1/24* @time 14:04*/
@SpringBootApplication
@EnableEurekaServer
public class ApplicationServer {public static void main(String[] args) {SpringApplication.run(ApplicationServer.class, args);}
}
2.4 启动注册中心
启动后,在浏览器访问http://localhost:8761/,就能看到注册中心。
三、服务提供者 Eureka - Client
刚才的注册中心项目不要关。然后再创建一个新的Module,同样右击项目最上级目录。New -- Module -- 选择Maven ,点击next -- 输入提供者名字 client。然后就是这样的目录了。
3.1 导入服务提供者项目的依赖
<?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>main</artifactId><groupId>com.safesoft</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>client</artifactId><dependencies><!-- 客户端依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
</project>
3.2 编写配置文件
为服务提供者 Eureka - Client 编写 application.yml。
#当前项目部署的端口
server:port: 8762#配置注册中心的位置,并把自己注册进去
eureka:client:serviceUrl:defaultZone: http://localhost:8761/eureka/#当前项目名字
spring:application:name: service-client
3.3 编写启动类
@SpringBootApplication注解是SpirngBoot项目启动的入口。
@EnableEurekaClient注解说明这是一个服务提供者Eureka--Client。
package com.safesoft.client;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;/*** @author jay.zhou* @date 2019/1/24* @time 14:51*/
@SpringBootApplication
@EnableEurekaClient
public class ApplicationClient {public static void main(String[] args) {SpringApplication.run(ApplicationClient.class, args);}
}
3.4 编写一个Controller
package com.safesoft.client.web;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @author jay.zhou* @date 2019/1/24* @time 16:16*/
@RestController
public class IndexController {@Value("${server.port}")private String port;@RequestMapping("/hi")public String hi(String name) {return "hi " + name + " , l am " + port + " port";}
}
3.5 启动服务提供者
启动以后,访问浏览器http://localhost:8761/,就能在注册中心中,找到刚才注册的服务提供者项目了。注意哦,注册中心项目Eureka--Server 与 服务提供者项目 Eureka--Client 这两个项目都要启动哦,先启动注册中心,再启动服务提供者。
四、源码下载
GitHub - hairdryre/Study_SpringCloud
参考文章:史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本)
----------------------------------------------------分割线-------------------------------------------------------
下一篇:第二节:使用Ribbon作为服务消费者
目录贴:从头开始学SpringCloud目录贴
如果本文对你有帮助,不妨请我喝瓶可乐吧!
你的打赏是对我最好的支持!
第一节:服务注册与服务发现相关推荐
- 深入了解服务注册与服务发现
1. 什么是服务注册与发现 我们先来看下什么是服务注册与服务发现? 服务注册,就是将提供某个服务的模块信息(通常是这个服务的ip和端口)注册到1个公共的组件上去(比如: zookeeper\consu ...
- 什么是微服务架构?什么是服务注册与服务发现?
文章目录 基础名词 分布式 高可用 集群 什么是微服务 服务注册与服务发现 SpringCloud Alibaba 服务关系以及调用关系 服务注册中心 Nacos服务发现的领域模型 Nacos元数据 ...
- NodeJs服务注册与服务发现实现
前言 由于作者才刚开始学习NodeJs,水平实在有限,本文更像是一篇学习笔记,适合同刚开始学习NodeJs的朋友阅读. 服务治理 如果你的团队正在探索微服务的搭建,那么你们可能就在寻找一种机制,这个机 ...
- 如何理解服务注册和服务发现
服务注册.服务注册表.服务发现 三者的关系是:通过服务注册机制将启动服务的信息上传至服务注册表,服务发现机制通过服务注册表实时获取可用服务的信息. 服务注册的方式包括:自注册和第三方注册.自注册的意思 ...
- 微服务架构-实现技术之三大关键要素1服务治理:服务注册中心+服务发布与注册+服务发现与调用+服务监控
目录 一.服务注册中心:注册中心核心功能+实现策略 1.注册中心核心功能 2.注册中心实现策略 二.服务发布与注册 三.服务发现与调用 四.服务监控 基本思路:日志埋点 基本目标: 基本定位: 基本策 ...
- 【Zookeeper】JAVA通过ZK实现服务注册和服务发现
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程. 服务化现在已经是个很成熟的概念 ...
- 小白入门微服务(4) - 服务注册与服务发现
概述 前言 什么是服务注册.服务发现 两种服务注册方式 两种服务发现方式 常见的第三方注册工具 后记 前言 好一阵子没有更新了,有些小伙伴在后台问我有没有更新,看来大家还是挺喜欢看我的文章的嘛.主要是 ...
- 服务注册与服务发现中心
1.基本原理 服务注册和服务发现中心各自有多台机器,保证高可用 服务器注册:就是将周期性将自己的ip和端口号提供给注册中心,注册中心维护了(服务名称,ip和端口号的列表)一个映射关系. 服务发现:调用 ...
- 微服务2——服务的注册,调用(Nacos服务注册中心+服务调用+调用负载均衡)sca-comsumersca-provider
一.Nacos的安装和构建 以及启动 其官网地址如下: Nacos官网 1.安装前提: 第一:确保你电脑已配置JAVA_HOME环境变量(Nacos启动时需要),例如: 第二:确保你的MySQL版本 ...
最新文章
- 还在埋头写论文?知网检索的这些小技巧让你有如神助!
- Java中的同步集合与并发集合有什么区别?
- linux xia 安装程序,linux更新或安装libzip
- x264_param_default
- 反射与二次加工标准类型
- MySQL数据库进阶(API的理解、Python对MySQL的接口)
- java excel插入列_Java 插入、隐藏/显示、删除Excel行或列
- nmap扫描服务器端口不稳定,nmap端口扫描问题
- 基于STM32音频频谱分析设计方案
- mysql数据库安装过程蜿蜒曲折
- PhysX Setup
- 阿里云授权和子账号登录
- 自动化测试 selenium 模块 webdriver使用
- 【PMP认证考试之个人总结】 第 13 章 PMP计算题汇总
- 使用JavaScript制作待办事项列表
- 产品经理和项目经理的差异
- Kuang_spring笔记
- phpMyAdmin 初始用户名 密码
- 通信协议基础知识总结二
- python dataframe合并单元格后写入excel