微服务

实践“微服务”自然要学习如何做服务注册与发现
基于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 configurationDistributed/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 -- 服务注册与发现相关推荐

  1. SpringBoot系列:9. 分布式系统,Dubbo,Zookeeper服务注册与发现

    前言 本章主要对分布式系统,RPC的实现方式和Zookeeper实现做一个详细的概述并通过实战代码加深对他们的了解. 1. 分布式 什么是分布式系统? :"分布式系统是若干独立计算机的集合, ...

  2. Spring Cloud第一篇:服务注册与发现Eureka

    一.spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选.分布式会话等等.它运 ...

  3. SpringCloud(二) 服务注册与发现Eureka

    1.eureka是干什么的? 上篇说了,微服务之间需要互相之间通信,那么通信就需要各种网络信息,我们可以通过使用硬编码的方式来进行通信,但是这种方式显然不合适,不可能说一个微服务的地址发生变动,那么整 ...

  4. springcloud微服务系列之服务注册与发现组件Eureka

    一.Eurake的简介 二.使用Eureka进行服务的注册消费 1.创建一个服务注册中心 2.创建服务的提供者 3.创建服务的消费者 总结 一.Eurake的简介 今天我们来介绍下springclou ...

  5. SpringCloud核心教程 | 第四篇:服务注册与发现 Consul篇

    Spring Cloud简介 Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全 ...

  6. SpringCloud笔记(Hoxton)——Netflix之Eureka服务注册与发现

    基础应用 Eureka简介 Eureka是一个基于REST的服务,主要在AWS云中使用,定位服务来进行中间层服务器的负载均衡和故障转移. SpringCloud封装了Netflix公司开发的Eurek ...

  7. SpringCloud系列之Eureka服务注册及发现

    Eureka 1. Eureka简介 1.1 什么是Eureka 2. Eureka实例 2.1 编写Eureka Server 2.2 编写Eureka Client 3. Eureka源码解析 3 ...

  8. SpringCloud[01]Eureka服务注册与发现

    文章目录 Eureka服务注册与发现 1. Eureka基础知识 1. 什么是服务治理 2. 什么是服务注册与发现 3. Eureka包含两个组件:**Eureka Server** 和 **Eure ...

  9. 跟着狂神学SpringCloud(Rest环境搭建+Eureka服务注册与发现+ribbon+Feign负载均衡+Hystrix+服务熔断+Zuul路由网关+SpringCloud config分布)

    跟着狂神学SpringCloud SpringCloud 回顾之前的知识- JavaSE 数据库 前端 Servlet Http Mybatis Spring SpringMVC SpringBoot ...

最新文章

  1. Redis漏洞?阿里云被攻击!
  2. jquery调用click事件的三种方式
  3. 瞬发大量并发连接 造成MySQL连接不响应的分析
  4. Java 实现固定长度队列,自动删除最早添加的数据
  5. 谷歌更新漏洞披露规则:不管补丁打没打,够90天才披露
  6. java设计模式_抽象工厂
  7. 自定义View:Android 仿 PS 选色板
  8. 马成荣版计算机应用基础 教案,计算机基础教案.doc
  9. 通过Jquery实现文本高亮及取消高亮
  10. 入行必看:数字后端工程师有哪些就业机会?
  11. 做一个电商网站需要多少钱
  12. 创意撰写优化技巧通配符
  13. Java 敏感词过滤,Java 敏感词替换,Java 敏感词工具类
  14. Runtime.exec()执行linux shell
  15. 康耐视 visionpro图像角度识别
  16. Nginx 部署 静态资源路径问题
  17. 2018年美赛O奖论文
  18. 一个基于pycuda的矩阵乘法实现,它使用CUDA核心来加速计算。
  19. Malware Dev 02 - Windows SDDL 后门利用之 SCManager
  20. 城管计算机知识,城管小课堂:信息化小知识

热门文章

  1. #define定义标识符——定义宏——替换规则——##的作用——#undef
  2. 【MySQL】mysql | 解决navicat连接mysql报错1129
  3. 测试组分享会建立和实施
  4. linux 编译mqtt静态库_Windows 编译 MQTT C++
  5. SpatialHadoop中空间索引系列之(三)格网索引原理
  6. pytorch入门与实践学习笔记:chapter9 pytorch 实现CharRNN
  7. 解决Windows 10 邮件添加并同步 Gmail时,提示无法连接到服务器
  8. 上新了丨高性价比5G智能模组,美格智能SRM700正式发布
  9. 煤炭股往基金伤口上撒盐
  10. 重装系统后出现0xc000000e解决办法