前言

大宇也是第一次学习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. 深入了解服务注册与服务发现

    1. 什么是服务注册与发现 我们先来看下什么是服务注册与服务发现? 服务注册,就是将提供某个服务的模块信息(通常是这个服务的ip和端口)注册到1个公共的组件上去(比如: zookeeper\consu ...

  2. 什么是微服务架构?什么是服务注册与服务发现?

    文章目录 基础名词 分布式 高可用 集群 什么是微服务 服务注册与服务发现 SpringCloud Alibaba 服务关系以及调用关系 服务注册中心 Nacos服务发现的领域模型 Nacos元数据 ...

  3. NodeJs服务注册与服务发现实现

    前言 由于作者才刚开始学习NodeJs,水平实在有限,本文更像是一篇学习笔记,适合同刚开始学习NodeJs的朋友阅读. 服务治理 如果你的团队正在探索微服务的搭建,那么你们可能就在寻找一种机制,这个机 ...

  4. 如何理解服务注册和服务发现

    服务注册.服务注册表.服务发现 三者的关系是:通过服务注册机制将启动服务的信息上传至服务注册表,服务发现机制通过服务注册表实时获取可用服务的信息. 服务注册的方式包括:自注册和第三方注册.自注册的意思 ...

  5. 微服务架构-实现技术之三大关键要素1服务治理:服务注册中心+服务发布与注册+服务发现与调用+服务监控

    目录 一.服务注册中心:注册中心核心功能+实现策略 1.注册中心核心功能 2.注册中心实现策略 二.服务发布与注册 三.服务发现与调用 四.服务监控 基本思路:日志埋点 基本目标: 基本定位: 基本策 ...

  6. 【Zookeeper】JAVA通过ZK实现服务注册和服务发现

    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程. 服务化现在已经是个很成熟的概念 ...

  7. 小白入门微服务(4) - 服务注册与服务发现

    概述 前言 什么是服务注册.服务发现 两种服务注册方式 两种服务发现方式 常见的第三方注册工具 后记 前言 好一阵子没有更新了,有些小伙伴在后台问我有没有更新,看来大家还是挺喜欢看我的文章的嘛.主要是 ...

  8. 服务注册与服务发现中心

    1.基本原理 服务注册和服务发现中心各自有多台机器,保证高可用 服务器注册:就是将周期性将自己的ip和端口号提供给注册中心,注册中心维护了(服务名称,ip和端口号的列表)一个映射关系. 服务发现:调用 ...

  9. 微服务2——服务的注册,调用(Nacos服务注册中心+服务调用+调用负载均衡)sca-comsumersca-provider

    一.Nacos的安装和构建  以及启动 其官网地址如下: Nacos官网 1.安装前提: 第一:确保你电脑已配置JAVA_HOME环境变量(Nacos启动时需要),例如: 第二:确保你的MySQL版本 ...

最新文章

  1. 还在埋头写论文?知网检索的这些小技巧让你有如神助!
  2. Java中的同步集合与并发集合有什么区别?
  3. linux xia 安装程序,linux更新或安装libzip
  4. x264_param_default
  5. 反射与二次加工标准类型
  6. MySQL数据库进阶(API的理解、Python对MySQL的接口)
  7. java excel插入列_Java 插入、隐藏/显示、删除Excel行或列
  8. nmap扫描服务器端口不稳定,nmap端口扫描问题
  9. 基于STM32音频频谱分析设计方案
  10. mysql数据库安装过程蜿蜒曲折
  11. PhysX Setup
  12. 阿里云授权和子账号登录
  13. 自动化测试 selenium 模块 webdriver使用
  14. 【PMP认证考试之个人总结】 第 13 章 PMP计算题汇总
  15. 使用JavaScript制作待办事项列表
  16. 产品经理和项目经理的差异
  17. Kuang_spring笔记
  18. phpMyAdmin 初始用户名 密码
  19. 通信协议基础知识总结二
  20. python dataframe合并单元格后写入excel

热门文章

  1. SpringBoot自动装配原理浅析
  2. 数据结构(C语言)- 稀疏矩阵的快速乘法
  3. 一张图看懂在北京买房不同贷款方式的差别
  4. 抢红包 html 模板,微信抢红包源码和模拟demo
  5. 金蝶K3检验单导入导出的修改
  6. ROS2 学习古月居ros21讲学习笔记
  7. 思科交换机接口配置trunk_交换机之间trunk端口的设置问题
  8. 网站html保存,如何保存网页内容(高级篇)
  9. mysql中更改数据库名字_【实操篇】_MySQL如何更改数据库名字?
  10. UVA11183 Teen Girl Squad —— 最小树形图