全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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等很多子项目。

  1. Distributed/versioned configuration
  2. Service registration and discovery
  3. Routing
  4. Service-to-service calls
  5. Load balancing
  6. Circuit Breakers
  7. Global locks
  8. Leadership election and cluster state
  9. Distributed messaging

服务注册与发现

SpringCloud模块

spring-cloud-starter-eureka-server

工程module

  1. 服务注册中心
  2. 服务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: discovery
 client:
  registerWithEureka: false
  fetchRegistry: false
  service-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: true
  fetchRegistry: true
  serviceUrl:
   defaultZone: http://localhost:8761/eureka/

注册完成后,可以通过 spring.application.name 的配置来访问该服务

访问 http://localhost:8761 发现服务已经在注册中心上注册


服务注册中心启用用户名密码

通过配置applicaiton.yml用户名密码

security:
 basic:
  enabled: true
 user:
  name: aa
  password: abcd

配置服务提供方application.yml

eureka:
 instance:
  hostname: configserver
  prefer-ip-address: true
 client:
  registerWithEureka: true
  fetchRegistry: true
  service-url:
   defaultZone: http://aa:abcd@localhost:8761/eureka/

代码请移步 Github参考地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# spring  # boot  # 服务注册  # 服务发现  # 注册  # springcloud干货之服务注册与发现(Eureka)  # 详解springcloud之服务注册与发现  # SpringCloud Eureka实现服务注册与发现  # 详解Java 微服务架构  # 详解利用SpringCloud搭建一个最简单的微服务框架  # 微服务架构之服务注册与发现功能详解  # 来实现  # 都有  # 可以用  # 其他的  # 并在  # 可以通过  # 息息相关  # 与之  # 可以选择  # 要学  # 之言  # 大家多多  # 如何做  # 心上  # 选择了  # 完成后  # 包含了  # 来访问  # starter 


相关文章: 如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  建站主机核心功能解析:服务器选择与网站搭建流程指南  如何快速搭建自助建站会员专属系统?  如何快速生成凡客建站的专业级图册?  建站之星会员如何解锁更多建站功能?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  建站之星安装后如何自定义网站颜色与字体?  ui设计制作网站有哪些,手机UI设计网址吗?  实例解析angularjs的filter过滤器  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  小型网站制作HTML,*游戏网站怎么搭建?  如何在VPS电脑上快速搭建网站?  如何在景安服务器上快速搭建个人网站?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  创业网站制作流程,创业网站可靠吗?  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  高端建站如何打造兼具美学与转化的品牌官网?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  视频网站制作教程,怎么样制作优酷网的小视频?  浅谈Javascript中的Label语句  怀化网站制作公司,怀化新生儿上户网上办理流程?  寿县云建站:智能SEO优化与多行业模板快速上线指南  如何在阿里云虚拟服务器快速搭建网站?  如何选购建站域名与空间?自助平台全解析  建站之星后台管理如何实现高效配置?  如何彻底删除建站之星生成的Banner?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  高防服务器租用指南:配置选择与快速部署攻略  详解jQuery停止动画——stop()方法的使用  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  ,巨量百应是干嘛的?  如何通过云梦建站系统实现SEO快速优化?  ,sp开头的版面叫什么?    盐城做公司网站,江苏电子版退休证办理流程?  MySQL查询结果复制到新表的方法(更新、插入)  网站制作的步骤包括,正确网址格式怎么写?  网站制作软件免费下载安装,有哪些免费下载的软件网站?  建站之星安装后如何配置SEO及设计样式?  建站之星在线版空间:自助建站+智能模板一键生成方案  C#如何序列化对象为XML XmlSerializer用法  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  广平建站公司哪家专业可靠?如何选择?  Android使用GridView实现日历的简单功能  如何快速重置建站主机并恢复默认配置?  如何在IIS中配置站点IP、端口及主机头?  如何选择可靠的免备案建站服务器?  如何通过商城免费建站系统源码自定义网站主题? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。