SpringBoot -- 服务注册与发现
微服务
实践“微服务”自然要学习如何做服务注册与发现
基于SpringBoot来进行微服务的学习,自然选择了与之息息相关的SpringCloud;当然可以选择其他的技术进行,比如dubbo
也可以用zookeeper来实现服务注册与发现,至于zookeeper来实现此功能好还是不好,各家之言都有
SpringCloud
Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems .SpringCloud
SpringCloud 包含了 Distributed/versioned configuration、Distributed/versioned configuration等很多子项目。
- Distributed/versioned configuration
- Service registration and discovery
- Routing
- Service-to-service calls
- Load balancing
- Circuit Breakers
- Global locks
- Leadership election and cluster state
- Distributed messaging
服务注册与发现
SpringCloud模块
- spring-cloud-starter-eureka-server
工程module
- 服务注册中心
- 服务module
服务注册中心
创建discovery module,并在 build.gradle中引入 spring-cloud-starter-eureka-server依赖
apply plugin: 'org.springframework.boot'dependencyManagement {imports {mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion}
}
repositories {mavenCentral()
}
dependencies {compile ('org.springframework.cloud:spring-cloud-starter-eureka-server')
}
jar {baseName = 'discovery-bootcwenao'
}
通过注解 @EnableEurekaServer 提供注册中心服务
/*** @author cwenao* @version $Id DiscoveryBootcwenaoApplication.java, v 0.1 2017-01-12 9:56 cwenao Exp $$*/
@EnableEurekaServer
@SpringBootApplication
public class DiscoveryBootcwenaoApplication {public static void main(String[] args) {new SpringApplicationBuilder(DiscoveryBootcwenaoApplication.class).web(true).run(args);}
}
application.yml 配置eureka属性
server:port: 8761
eureka:instance:hostname: discoveryclient:registerWithEureka: falsefetchRegistry: falseservice-url:defaultZone: http://discovery:${server.port}/eureka/
访问 http://localhost:8761
服务注册
创建服务module, 在build.gradle中引入 spring-cloud-starter-eureka
apply plugin: 'org.springframework.boot'
dependencyManagement {imports {mavenBom "org.springframework.cloud:spring-cloud-dependencies:"+ springCloudVersion}
}dependencies {compile('org.springframework.cloud:spring-cloud-starter-eureka')compile('org.springframework.cloud:spring-cloud-stream')
}
sourceSets {main {resources.srcDirs = ['src/main/resources', 'src/main/java']resources.includes = ['**/*.xml', '**/*.yml']}
}
jar {baseName = 'apigateway-bootcwenao'
}
通过注解 @EnableDiscoveryClient 进行服务注册
@SpringBootApplication
@EnableDiscoveryClient
public class ApiGatewayBootcwenaoApplication {public static void main(String[] args) {SpringApplication.run(ApiGatewayBootcwenaoApplication.class, args);}
}
application.yml 配置eureka属性
server:port: 10002
spring:application:name: apigateway
eureka:client:registerWithEureka: truefetchRegistry: trueserviceUrl:defaultZone: http://localhost:8761/eureka/
注册完成后,可以通过 spring.application.name 的配置来访问该服务
访问 http://localhost:8761 发现服务已经在注册中心上注册
服务注册中心启用用户名密码
通过配置applicaiton.yml用户名密码
security:basic:enabled: trueuser:name: aapassword: abcd
配置服务提供方application.yml
eureka:instance:hostname: configserverprefer-ip-address: trueclient:registerWithEureka: truefetchRegistry: trueservice-url:defaultZone: http://aa:abcd@localhost:8761/eureka/
代码
代码请移步 Github参考地址
如有疑问请加公众号(K171),如果觉得对您有帮助请 github start
SpringBoot -- 服务注册与发现相关推荐
- SpringBoot系列:9. 分布式系统,Dubbo,Zookeeper服务注册与发现
前言 本章主要对分布式系统,RPC的实现方式和Zookeeper实现做一个详细的概述并通过实战代码加深对他们的了解. 1. 分布式 什么是分布式系统? :"分布式系统是若干独立计算机的集合, ...
- Spring Cloud第一篇:服务注册与发现Eureka
一.spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运 ...
- SpringCloud(二) 服务注册与发现Eureka
1.eureka是干什么的? 上篇说了,微服务之间需要互相之间通信,那么通信就需要各种网络信息,我们可以通过使用硬编码的方式来进行通信,但是这种方式显然不合适,不可能说一个微服务的地址发生变动,那么整 ...
- springcloud微服务系列之服务注册与发现组件Eureka
一.Eurake的简介 二.使用Eureka进行服务的注册消费 1.创建一个服务注册中心 2.创建服务的提供者 3.创建服务的消费者 总结 一.Eurake的简介 今天我们来介绍下springclou ...
- SpringCloud核心教程 | 第四篇:服务注册与发现 Consul篇
Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全 ...
- SpringCloud笔记(Hoxton)——Netflix之Eureka服务注册与发现
基础应用 Eureka简介 Eureka是一个基于REST的服务,主要在AWS云中使用,定位服务来进行中间层服务器的负载均衡和故障转移. SpringCloud封装了Netflix公司开发的Eurek ...
- SpringCloud系列之Eureka服务注册及发现
Eureka 1. Eureka简介 1.1 什么是Eureka 2. Eureka实例 2.1 编写Eureka Server 2.2 编写Eureka Client 3. Eureka源码解析 3 ...
- SpringCloud[01]Eureka服务注册与发现
文章目录 Eureka服务注册与发现 1. Eureka基础知识 1. 什么是服务治理 2. 什么是服务注册与发现 3. Eureka包含两个组件:**Eureka Server** 和 **Eure ...
- 跟着狂神学SpringCloud(Rest环境搭建+Eureka服务注册与发现+ribbon+Feign负载均衡+Hystrix+服务熔断+Zuul路由网关+SpringCloud config分布)
跟着狂神学SpringCloud SpringCloud 回顾之前的知识- JavaSE 数据库 前端 Servlet Http Mybatis Spring SpringMVC SpringBoot ...
最新文章
- Redis漏洞?阿里云被攻击!
- jquery调用click事件的三种方式
- 瞬发大量并发连接 造成MySQL连接不响应的分析
- Java 实现固定长度队列,自动删除最早添加的数据
- 谷歌更新漏洞披露规则:不管补丁打没打,够90天才披露
- java设计模式_抽象工厂
- 自定义View:Android 仿 PS 选色板
- 马成荣版计算机应用基础 教案,计算机基础教案.doc
- 通过Jquery实现文本高亮及取消高亮
- 入行必看:数字后端工程师有哪些就业机会?
- 做一个电商网站需要多少钱
- 创意撰写优化技巧通配符
- Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类
- Runtime.exec()执行linux shell
- 康耐视 visionpro图像角度识别
- Nginx 部署 静态资源路径问题
- 2018年美赛O奖论文
- 一个基于pycuda的矩阵乘法实现,它使用CUDA核心来加速计算。
- Malware Dev 02 - Windows SDDL 后门利用之 SCManager
- 城管计算机知识,城管小课堂:信息化小知识
热门文章
- #define定义标识符——定义宏——替换规则——##的作用——#undef
- 【MySQL】mysql | 解决navicat连接mysql报错1129
- 测试组分享会建立和实施
- linux 编译mqtt静态库_Windows 编译 MQTT C++
- SpatialHadoop中空间索引系列之(三)格网索引原理
- pytorch入门与实践学习笔记:chapter9 pytorch 实现CharRNN
- 解决Windows 10 邮件添加并同步 Gmail时,提示无法连接到服务器
- 上新了丨高性价比5G智能模组,美格智能SRM700正式发布
- 煤炭股往基金伤口上撒盐
- 重装系统后出现0xc000000e解决办法