eureka

【Zookeeper】基础学习概览【汇总】

邮差的信 提交于 2020-04-18 02:39:56
一、概述 1.1 简介 1.2 Zookeeper集群机制 1.3 Zookeeper特性 二、Zookeeper应用场景 三、Zookeeper数据结构 四、Zookeeper安装 五、Java操作Zookeeper 六、Zookeeper实现负载均衡 七、Zookeeper 分布式锁 八、Zookeeper实现服务Master选举策略(哨兵机制) 九、Zookeeper 集群搭建 一、概述 1.1 简介   Zookeeper是一个分布式开源框架(Java语言编写开源框架),是一个分布式协调工具,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务 , 分布式同步(Distributed Synchronization)、命名服务(Naming Service)、集群维护(Group Maintenance) 等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以单机模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。 1、Zookeeper是为别的分布式程序服务的 2、Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务) 3、Zookeeper所提供的服务涵盖

spring-cloud生产环境热部署

删除回忆录丶 提交于 2020-04-18 01:08:46
通过eureka 对注册实例进行操作,比如:将服务离线/上线,注册/注销,动态修改meta元数据等 注:重新发布,一般要先停止应用,在启动应用,建议用kill pid,不要带-9强杀,以防万一还有未执行完成的请求。 来源: oschina 链接: https://my.oschina.net/u/4198095/blog/3271562

微服务SpringCloud之服务调用与负载均衡

≡放荡痞女 提交于 2020-04-17 15:06:00
【推荐阅读】微服务还能火多久?>>> 上一篇我们学习了服务的注册与发现,本篇博客是在上一篇的基础上学习服务的调用。上一博客主要创建了Eureka的服务端和一个Client,该Client包含了一个Controller用来提供对外服务供外部调用,可以作为生产者。 一、引入依赖 前面创建了EurekaClient的项目,在项目中引入了spring-cloud-starter-netflix-eureka-client用来注册服务,是生产者,这里调用属于消费者,同样也需要引入spring-cloud-starter-netflix-eureka-client,这里还使用了openfeign来调用生产者提供的服务。具体pom.xml如下,主要引入spring-cloud-starter-netflix-eureka-client、spring-boot-starter-web、spring-cloud-starter-openfeign、spring-cloud-openfeign-core。 <? xml version="1.0" encoding="UTF-8" ?> < project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"

形象化理解 SpringBoot + SpringCloud

萝らか妹 提交于 2020-04-17 13:13:03
【推荐阅读】微服务还能火多久?>>> Spring framework架构的项目就像上海中心这样的高楼大厦,一栋大厦里租用者各色各样的公司和企业为用户提供各种各样的服务。 大厦里的每间办公室都是一个容器,对应着一个docker容器,空办公室对于用户来说是没有任何意义的,只有里面入住了企业(Spring boot),跑了各种程序,才叫一个微服务结点。 房间号可以理解成容器的ip和端口,企业名理解成微服务的服务名,如果一家企业规模较大,需要租多间办公室才可以,那就是多个容器共同组成一个高可用性的微服务组群。 大厦有一本企业列表,有哪些企业提供哪些服务,对应的房间号是什么,这本列表就是Spring Cloud Eureka。 大厦的大门是所有企业的对外的gateway,用户只能通过大门进去然后进行安检后保安会帮你指路告诉你要找的企业在哪里,这里的大门和门卫就是Spring Cloud Zuul。 也不是所有的房间都是给企业准备的,也有弱点室、茶水间等为所有企业准备的公共设施,这就是Spring Cloud Hystrix的Dashboard、redis、MQ等这些独立的辅助服务。 如果要访问大厦里的某一个企业你只知道企业名,你是不知道具体在哪一楼层哪一房间的,需要去看楼层的导航图或者电梯附近的企业列表(Eureka),如果一个企业有多个房间,客户自己决定进哪一个房间去获取服务

5-2 影片模块基础环境构建

走远了吗. 提交于 2020-04-16 13:43:50
【推荐阅读】微服务还能火多久?>>> 新建模块 和user模块及其的类似,更多的是复制user模块的代码 到我们新的模块里 手续复制groupId 右下角 复制parentId 删除没必要的文件 父工程内加上对应的子模块 删除依赖 去user模块内复制。common的依赖。 复制film。这样基础的环境就搭建完成了。 配置文件处理 复制一个logback.xml过来。 改成yml 复制过来 我们对数据源有要求,所以这里要额外添加一个数据源。 改一下端口和服务名 user模块数据源的配置拿过来 复制过来会有两个Spring的标签,去掉一个就可以了。最终如下。 开启eureka和扫描 新建dao的包 还需要一个ComponentScan扫描com.mooc.mettingfilm整个包下的 resource的映射 我们之前把映射都放在common里,理论上是所有模块继承,但是spring boot的各个版本之间会有一点点的差异,所以为了避免这种情况。 复制common的resources 各个模块都放一份,避免一些其他莫名其妙的错误。 这样我们基本的环境就搭建好了。 这里引用的包有问题。 @Test注意引用的包是org.junit.Text 这是Spring Boot版本之间的差异引起的。在我们刚创建的时候,它默认引入的是junit5。而junit5这次我们没有用到。

分布式06-Spring Cloud Sleuth & zipkin 链路追踪

て烟熏妆下的殇ゞ 提交于 2020-04-15 22:15:16
【推荐阅读】微服务还能火多久?>>> 一.Zipkin 是什么?  Zipkin的官方介绍: https://zipkin.apache.org/  Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司开发贡献。其主要功能是聚集来自各个异构系统的实时监控数据。分布式跟踪系统还有其他比较成熟的实现,例如:Naver的Pinpoint、Apache的HTrace、阿里的鹰眼Tracing、京东的Hydra、新浪的Watchman,美团点评的CAT,skywalking等。 二.为什么用 Zipkin? 随着互联网发展越来越壮大,系统也越来越复杂。分布式系统中系统之间的互相调用也越来越错综复杂,这时我们排查一个服务来龙去脉也越加困难,甚至我们都很难定位到哪个服务拖慢了整体的响应速度。 Zipkin分布式跟踪系统就能很好的解决这样的问题。 1.zipkin帮我们定位系统用了哪些服务 2.服务之间是怎么互相依赖的 3.请求的执行路径 4.服务之间调用的耗时 三.链路追踪的原理 每个请求会生成一个TraceId(可以理解一条链路的ID)串联每次SpanId形成一条完整的链路。 1.Span :基本的工作单位‘ 2.Trace :一组Span组成的树形结构(链路) 3

spring-clound之eureka集群搭建

你离开我真会死。 提交于 2020-04-15 17:56:36
【推荐阅读】微服务还能火多久?>>> 版本要求:springboot 1.5.4 spring clound D版 1.pom文件 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Dalston.SR1</version> <type>pom</type> <scope>import</scope> <

java B2B2C电子商务平台分析之十五-----EureKa服务注册与发现

浪子不回头ぞ 提交于 2020-04-15 17:48:29
【推荐阅读】微服务还能火多久?>>> 什么是服务发现与服务注册 简单的来说就是一个微服务要调用另一个微服务,就必须知道这个微服务的地址及端口信息。采用一张注册表,注册上线可用的微服务及相关信息,微服务则从注册表上查找所需的其它微服务的相关信息。有两种主要的服务发现模式:客户端服务发现(client-side discovery)和服务器端服务发现(server-side discovery)愿意了解源码的朋友直接求求交流分享技术:二一四七七七五六三三 客户端发现 服务端服务发现 当发送请求到一个service的时候,客户端发送请求到一个router,这个router是在一个已知的地址上运行的。router查询service registry(可能在这个router中实现), 然后把请求发送到可用的service实例。如下所示: 服务发现组件的功能 服务注册表 服务注册表是一个记录当前可用服务实例的网络信息的数据库,是服务发现机制的核心。服务注册表提供查询API和管理API,使用查询API获得可用的服务实例,使用管理API实现注册和注销; 服务注册 服务注册:服务启动时,将服务的网络地址注册到服务注册表中; 健康检查 服务发现组件会通过一些机制定时检测已注册的服务,如果发现某服务无法访问了(可能是某几个心跳周期后),就将该服务从服务注册表中移除。 服务发现组件:Eureka

spring-clound的简单实例

让人想犯罪 __ 提交于 2020-04-15 17:48:09
【推荐阅读】微服务还能火多久?>>> 1 第一步 1)创建eureka服务中心 //相当于dubbo使用zookeeper的原理 pom.xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> application.properties eureka.client.service-url.defaultZone= http://localhost:8761/eureka/ server.port=8001 eureka.instance.hostname=eureka-server eureka.client.register-with-eureka=false eureka.client.fetch-registry=false 3)在主应用中启用eureka @EnableEurekaServer 测试结果 2 创建服务提供者的应用 1)pom.xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix

Eureka Server启用 https服务指北

吃可爱长大的小学妹 提交于 2020-04-15 17:28:16
【推荐阅读】微服务还能火多久?>>> 文章共 591字,阅读大约需要 2分钟 ! 概 述 在我的前文 《Eureka Server 开启Spring Security Basic认证》 中已经给 Eureka Server 开启了最基本的鉴权措施,本文则让 HTTPS加持于 Eureka Server,让安全措施来的更彻底一点。 注: 本文首发于 My Personal Blog:CodeSheep·程序羊 ,欢迎光临 小站 证书准备 这里使用 JDK自带的 keytools 来创建证书 Server 端证书生成 keytool -genkeypair -alias server -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore codesheepserver.p12 -validity 3800 过程如下: Client 端证书生成 keytool -genkeypair -alias client -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore codesheepclient.p12 -validity 3800 过程类似,就不再截图了 分别导出 server端和 client端的 p12证书 keytool -export -alias server