记录一下吧,为什么接触分布式。因为裸辞之后没有找到工作,好的公司都要求有分布式经验,但是我完全没有。在一次面试的时候,面试官说如果你会分布式架构的话,我可以把工资给你开高2.5,我就考虑着给我点时间,让我学习这个狗东西。一个月后看学习效果再看我能不能拿到多了2.5的工资,面试官也就答应了。分布式之路就此开始。

  首先分布式的基础应该就是服务的注册和发现了吧,目前只是了解了Eureka作为服务注册和发现的组件,采用Spring Boot(简称SB) 和Spring Cloud(简称SC,后面统一使用简称)。

  服务的注册与发现功能的实现这里采用Eurake组件吧,手写Demo,这里采用父子工程的形式,采用Maven继承(记录一下,现在我对这玩意还不是太理解,后续专门做一篇进行解读)的方式对项目的SB和SC集成和依赖的jar包的版本进行管理。主要依赖的jar包是

spring-cloud-starter-netflix-eureka-server ,包导入完成就在SB项目的主方法添加@EnableEurakeServer 注解

Eurake组件的后端是没有缓存的,所以注册对象与注册中心之间需要发送心跳,默认情况下

Eurake Server 也是一个Eurake Client,所以必须在配置文件中指定一个server。application.properties

server:
port: 8889 #注册中心开启的端口 eureka:
instance:
hostname: localhost #注册地址
client:
registerWithEureka: false #声明Eurake以server的方式建立
fetchRegistry: false
serviceUrl: #图形化界面地址
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

这时候启动项目,服务注册中心就创建完成了。

  接下来创建服务提供者,与服务注册中心依赖的jar包基本是一样的,不过这个是以client结尾的

spring-cloud-starter-netflix-eureka-client, 服务提供者与消费者都是 client,注册中心才是 server,这个要搞清楚。

  在启动类上添加@EnableEurekaClient注解实现,在服务提供者服务的配置文件做修改,

 spring.application.name=config-server #服务名
server.port=8888 #服务端口
#注册中心地址
eureka.client.serviceUrl.defaultZone=http://localhost:8889/eureka/

剩下就是在服务上添加对应的请求方法,进行请求发送

http://localhost:8888/hi?name=forezp

Spring Cloud ---- 服务注册与发现(Eureka 找到了!找到了! 嘻嘻)的更多相关文章

  1. spring cloud服务注册与发现无法发现的可能原因

    1.注册中心服务端默认90秒检测一次,看服务是否还存活,不存活则删除掉服务,还存活则继续注册上去 2. spring: profiles: dev cloud: config: name: clean ...

  2. Spring Cloud(二):服务注册与发现 Eureka【Finchley 版】

    Spring Cloud(二):服务注册与发现 Eureka[Finchley 版]  发表于 2018-04-15 |  更新于 2018-05-07 |  上一篇主要介绍了相关理论,这一篇开始我们 ...

  3. spring cloud 学习之 服务注册和发现(Eureka)

    一:服务注册和发现(Eureka) 1:采用Eureka作为服务注册和发现组件 2:Eureka 项目中 主要在启动类加上 注解@EnableEurekaServer @SpringBootAppli ...

  4. spring cloud 服务注册中心eureka高可用集群搭建

    spring cloud 服务注册中心eureka高可用集群搭建 一,准备工作 eureka可以类比zookeeper,本文用三台机器搭建集群,也就是说要启动三个eureka注册中心 1 本文三台eu ...

  5. spring Cloud服务注册中心Eureka集群

    spring Cloud服务注册中心Eureka集群配置: 在application.yml文件加以下配置: server: port: 8761 tomcat: uri-encoding: UTF- ...

  6. 小D课堂 - 新版本微服务springcloud+Docker教程_3-05 服务注册和发现Eureka Server搭建实战

    笔记 5.服务注册和发现Eureka Server搭建实战     简介:使用IDEA搭建Eureka服务中心Server端并启动,项目基本骨架介绍          官方文档:http://clou ...

  7. Spring Cloud服务注册中心交付至kubernetes

    前言 服务发现原则: 各个微服务在启动时,会将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息 服务消费者可以从服务发现组件中查询到服务提供者的网络地址,并使用该地址来远程调用服务 ...

  8. Spring Cloud实践之服务注册与发现Eureka

    一.简述: 服务提供者producer与服务消费者consumer都注册到eureka server,然后服务consumer在其应用内直接调用producer的服务名来调用服务,而不是像之前一样调用 ...

  9. spring cloud微服务快速教程之(二)服务注册与发现 eureka

    0.为什么需要eureka 当我们从当体系统拆分为多个独立服务项目之后,如果aaa.com/uer.aaa.com/order;:相互之间调用,如果只是一个服务一个实例,那还可以直接通过固定地址(如h ...

随机推荐

  1. eclipse中xml文件格式化

    eclipse中xml文件格式化(ctrl+shift+f),可能会发现格式化xml文件后很乱,如图: 这不是我想要的样子,我想要的是这样的: 解决办法:windows -> Perferenc ...

  2. .net 和 java 技术对应关系

    .net 和 java 技术对应关系 java 生态的优势早已人尽皆知,asp.net core 的生态也呈欣欣向荣之势.作为高级技术从业人,你不应该落下任何一门技术. 如果你正在将你的 java 知 ...

  3. rocketmq学习(二) rocketmq集群部署与图形化控制台安装

    1.rocketmq图形化控制台安装 虽然rocketmq为用户提供了使用命令行管理主题.消费组以及broker配置的功能,但对于不够熟练的非运维人员来说,命令行的管理界面还是较难使用的.为此,我们可 ...

  4. quartz-scheduler定时器实现

    第一步,在pom.xml中引入quartz-scheduler. <dependency> <groupId>org.quartz-scheduler</groupId& ...

  5. springboot2.0+ 使用拦截器导致静态资源被拦截

    在spring1.0+的版本中,配置拦截器后是不会拦截静态资源的.其配置如下: @Configuration public class WebMvcConfig extends WebMvcConfi ...

  6. dubbo-spring-boot的auto-configure示例报Not found exported service的解决办法

    本示例基于dubbo-spring-boot-project 2.7.3版本,可能会根据新版的发布而过时,阅读时请注意. 关于dubbo在spring-boot中该如何使用,网上有很多例子,但因为时间 ...

  7. 快学Scala 第十五课 (二进制读取文件,写文件,访问目录,序列化)

    二进制读取文件: val file = new File("F:\\scalaWorkspace\\ScalaLearning\\files\\test.txt") val in ...

  8. (八十四)c#Winform自定义控件-导航菜单(类Office菜单)

    前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. GitHub:https://github.com/kwwwvagaa/NetWinformControl 码云:ht ...

  9. MySQL 配置环境

    MySQL 显示 Can't connect to MySQL server on 'localhost' (10061)怎么解决 在cmd中配置启动sql后,找不到密码.然后怎么也没办法弄,不知道怎 ...

  10. 使用Jmeter并发websocket协议项目

    1.安装Jmeter 网址:http://jmeter.apache.org/下载 2.启动Jmeter \apache-jmeter-5.1.1\bin\jmeter.bat 3.安装‘Plugin ...