学习Spring-Cloud –基础结构和配置

我有机会与Spring-Cloud一起创建了一组云就绪微服务的样本集,Spring-Cloud如何使不同的基础架构组件和服务很好地协同工作给我留下了深刻的印象。

我习惯于基于基于Netflix OSS的堆栈创建微服务,通常在Netflix堆栈中, Eureka被认为是微服务进行自我注册和发现彼此的枢纽。 本着这种模式的精神,我想尝试一系列看起来像这样的服务:

乒乓球

这里有2种微服务:

  • 响应“ ping”消息的样本乒乓服务
  • 使用“乒乓”微服务的抽样服务

并且有两个基础架构组件:

  • Sample-config为2个微服务提供集中配置
  • 尤里卡(Eureka)是中央枢纽,为服务注册和发现其他服务提供了一种方式

因此,首先,我将介绍如何使用spring-cloud开发两个基础架构组件,并紧跟其后如何开发微服务以使用这些组件。

  • 整个项目在我的github位置上可用。

尤里卡

Spring-cloud使创建Eureka的实例非常简单,所需要做的只是遵循以下几行的类:

package org.bk.eureka;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class, args);}
}

可以启动多个Eureka实例,并将其配置为以弹性方式协同工作,尽管在这里,我只想演示一个独立的Eureka实例,并且可以使用类似以下的配置来完成,本质上是在端口8761上启动eureka并且在独立模式下不尝试查找对等方:

---
# application.yml
server:port: 8761eureka:instance:hostname: localhostclient:registerWithEureka: falsefetchRegistry: false

配置服务器

Spring-Cloud提供了一个集中式配置服务器,微服务可用于加载其属性。 通常,微服务可能希望采用以下两种方式之一:

  1. 使用Eureka作为中心,找到配置服务
  2. 使用配置服务并找到尤里卡

我个人更喜欢Eureka优先方法,在此示例配置服务器中向Eureka注册了自己,当微服务启动时,他们首先向Eureka进行了检查,找到Configuration服务并使用该服务加载其属性。

配置服务器也很容易使用Spring-cloud编写,以下是所需的所有代码:

package org.bk.configserver;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication
@EnableConfigServer
@EnableEurekaClient
public class ConfigServerApplication {public static void main(String[] args) {SpringApplication.run(ConfigServerApplication.class, args);}
}

以及向Eureka注册此服务的配置:

---
# bootstrap.yml
spring:application:name: sample-configprofiles:active: nativeeureka:instance:nonSecurePort: ${server.port:8888}client:serviceUrl:defaultZone: http://${eureka.host:localhost}:${eureka.port:8761}/eureka/
---
# application.yml
spring:cloud:config:server:native:searchLocations: classpath:/configserver:port: 8888

配置服务器从端口8888启动,并从类路径提供配置。 在实际的应用程序中,可以将配置设置为从中央git存储库加载,这种方式为版本属性提供了一种简洁的方法,并且可以集中管理属性。 在这种特定情况下,由于它提供了两个微服务的属性,因此类路径中有两组文件,并为调用应用程序提供了适当的属性:

---
#sample-pong.yml
reply:message: Pong
---
# sample-ping.yml
send:message: Ping

启动Eureka和配置服务器

由于这两个应用程序都是基于Spring-boot的,因此可以通过运行以下命令来分别启动它们:

mvn spring-boot:run

一旦Eureka和Configuration Server正常启动,Eureka将提供一个不错的界面,其中包含向其注册的服务的详细信息,在这种情况下,Configuration Server的名称为“ SAMPLE-CONFIG”:

春云尤里卡

配置服务器通过端点通过以下模式为调用应用程序提供属性: /{application}/{profile}[/{label}]

因此,要检索“ sample-pong”应用程序的属性,应用程序将在内部使用以下URL: http://localhost:8888/sample-pong/default

对于“ sample-ping”应用程序,属性可以从http://localhost:8888/sample-ping/default派生

到此,结束了有关如何启动云就绪系统的基础架构组件的详细说明。 我将继续介绍如何利用这些基础架构组件开发微服务。

  • 这些示例背后的代码可在我的github存储库中找到 。

翻译自: https://www.javacodegeeks.com/2015/06/learning-spring-cloud-infrastructure-and-configuration.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【APICloud系列|6】使用APICloud接入客服系统美洽获取Appkey配置

1.使用超级管理员(没有注册的提前注册登录一下)登录美洽:https://app.meiqia.com/ 2.找到设置——SDK 3.点击添加APP配置 4.上传

架构(三层架构)、框架(MVC)、设计模式三者异同点

前言: 本博客主要针对架构、框架和设计模式三者的差别、还有三层和MVC的差别进行讨论、对于这三者一点都不了解的、请点在维基和百度百科上补补课、这里就不发链接了 软件架构(software architecture) 软件的架构是系统的一个草图、阐述了各个…

轩逸车联网功能怎么用_北斗已建设完成,那“北斗导航”怎么用?“短报文功能”怎么用?...

6月23号长征三号乙运载火箭将北斗导航系统(BDS)最后一颗卫星,也就是第55颗卫星成功发射升空,这是我国全球导航系统的收官之作,整个导航系统建设耗时20年。中国北斗(BDS)是继美国(GPS)、俄罗斯(GLONASS)第三大成熟的全球定位导航系统&#xff…

nba2k19登陆显示你与服务器,NBA2K19无法登陆了?NBA2K19连不上服务器怎么办?[图]...

NBA2K19是一款很不错的篮球类游戏,喜欢篮球的朋友一定不要错过了!大家都知道这款游戏可以联网也可以单机,但是有朋友反映NBA2K19连不上服务器,这是什么原因呢?NBA2K19连不上服务器:1、卸载其他NBA2K学习版内…

深入进货单-价格跟踪----宇然电脑公司管理软件

细节决定软件是不是一款好的管理软件,也验证软件是否成熟的标致.E2在细节上考虑周到. 在进货时,我们常常会想知道历史的进货过程.在E2下非常简单. 转载于:https://www.cnblogs.com/do_easy/p/4365236.html

转-Android Studio *.jar 与 *.aar 的生成与*.aar导入项目方法

主要讲解Android Studio中生成aar文件以及本地方式使用aar文件的方法。 在Android Studio中对一个自己库进行生成操作时将会同时生成*.jar与*.aar文件。 分别存储位置: *.jar:库/build/intermediates/bundles/debug(release)/classes.jar *.aar&#xff…

【APICloud系列|8】APICloud下载编译包安装,点击图标打不开,提示很抱歉,程序出现异常,即将退出

下载编译包之后,安装在真机上提示很抱歉,程序出现异常,即将退出。进不去这个应用,请问有什么解决办法? 分享一下解决办法:大体分为两个方向: 1.检查新添加的模块。 2.检查config.xml文件(及index.html文件)。 我的问题是这样解决的,下载每个测试包确定出问题的时间…

4阶范德蒙德行列式例题_行列式的性质和计算问题

行列式计算(2) 01 前言 (1)今天我们继续讨论行列式的性质和计算问题。 (2)①第1题: 很多同学在一开始会直接将行列式拆成两个行列式后直接计算, 这是错误的使用了行列式的性质。注意行列式的分拆是“单行单列可拆”, 所以本题如果一直分拆, 应该是2X2X2=8个行列式, 当然此处我们…

diff命令两个服务器文件,linux 比较两个文件夹不同 (diff命令, md5列表)

比较文件夹diff,可以直接使用diff命令[root~]# diff -urNa dir1 dir2-a Treat all files as text and compare them line-by-line, even if they do not seem to be text.-N, --new-fileIn directory comparison, if a file is found in only one directory, treat …

hive分区用2个字段有何限制_Hive分区表和桶表的使用

我们看官网文档中这个地方我们先创建好数据库,以供练习使用数据库我们创建数据表我们创建分区表,选取的字段不能是表中存在的字段元数据信息Formatted信息那我们加载信息load data local inpath /data/hivetest/dept.txt into table dept_partition part…

魔兽三国服务器维护,魔兽三国开服七天技巧

魔兽三国开服七天技巧是9K9K小编星星为大家带来的,开服前七天,是玩家战斗力飙升,最能拉开与别人距离的时候,那么开服七天应该怎么玩呢。开服七天技巧1.抽出第一个英雄,这个看脸哈!通常出的陆逊,步练师&…

使用Docker容器和Java EE进行持续交付

组织需要一种使应用程序交付快速,可预测和安全的方法,而诸如docker之类的容器所提供的敏捷性则可以帮助开发人员实现这一目标。 对于Java EE应用程序,这可以在容器中打包应用程序,应用程序服务器和其他依赖项,这些容器…

MVC小例子

【约定胜于配置】 1. 右键Mode数据层添加新建项,用linq连接数据库 (不要在控制层上直接操控linq,要在数据层新建一个类,来对数据库进行操作) 2. 右键Mode数据层添加类,来完成对数据库的操作.类的名字叫Carda 3. 在Carda类中写对数…

flutter ios打包_Flutter通过BasicMessageChannel与Android iOS 的双向通信

更多文章请查看 flutter从入门 到精通本文章中的完整代码在这里题记:不到最后时刻,千万别轻言放弃,无论结局成功与否,只要你拼博过,尽力过,一切问心无愧。通过 Flutter 来进行移动应用开发,打包…

程序员养家活口接私活必备网站(顺便用技术改变世界)

程序员接私活的原因很多种(挣钱、养家糊口、提升技术等等)。下面整理了一下网站送给最有潜能的你。 提前准备好自己的笔记本和技术呦。 1.码客帮:https://www.make8.com/ 码客帮是一个基于众包的互联网软件技术服务平台,建立项目需求方与技术大牛的连接。帮助需求方快速找到靠…

作为服务器上的操作系统,作为服务器的操作系统

作为服务器的操作系统 内容精选换一换本节介绍如何使用华为云镜像,通过切换镜像部署Windows环境。当您已经购买了弹性云服务器,但想切换成其它类型操作系统,或者想使用镜像重新部署已经预装了其它软件的环境,可以参考本文档的介绍…

怎么判断前轮左右的位置_新手开车技巧,确定前轮位置,准确判断与障碍物距离...

今天我们就来学习下,开车时怎样判断前车轮的位置,还有就是怎样判断前车轮与障碍物的距离。我们先进行右轮的判断,首先认识下雨刷器接点位置,雨刷器接点位置,有一定的宽度。当左侧雨刷器的接点,完全和白色实…

安卓的系统设置 位置服务器,修改安卓定位服务器地址

修改安卓定位服务器地址 内容精选换一换状态代码由三位数字组成,第一个数字定义了响应的类别,有五种可能取值:1xx:指示信息,表示请求已接收,继续处理。2xx:成功,表示请求已被成功接收…

[翻译] ABCIntroView

ABCIntroView ABCIntroView is an easy to use onboarding which allows you to introduce your users to the applicaiton before reaching the Main Screen. ABCIntroView是一个简单易用的引导页。 To use the ABCIntroView please do the following: 你需要遵循以下几步来使…

怎样呵护友谊_【家校联动共同呵护孩子健康成长科普课堂】关爱学生心理健康,守护学生健康成长...

健/康/从/心/开/始小学时期是人的行为、性格和智力迅速发展的关键时期。在这一阶段,由于身心变化比较快,加之文化知识及社会经验的不足,小学生很容易产生不健康的心理,导致心理问题或心理疾病。排除小学生认识、情感、意志等方面的…