精华内容
下载资源
问答
  • springcloud注册中心

    2017-12-22 14:49:42
    springcloud注册中心 pom文件 <groupId>org.springframework.cloud <artifactId>spring-cloud-starter-eureka-server </d
    • springcloud注册中心

    pom文件

        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-eureka-server</artifactId>
            </dependency>
        </dependencies>
    • EurekaServerApplication
    @EnableEurekaServer
    @SpringBootApplication
    public class EurekaServerApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(EurekaServerApplication.class, args);
        }
    }
    • application.properties
    server.port=7000
    eureka.instance.hostname=eureka-server
    #eureka.client.register-with-eureka=false
    #eureka.client.fetch-registry=false

    部署启动报错参照: 学习笔记-Eureka

    展开全文
  • spring cloud 注册中心

    千次阅读 2017-07-29 21:09:58
    做微服务,注册中心是少不了的,之前用Dubbo的时候用的是Zookeeper,Spring Cloud也有自己的注册中心——Eureka。 按照之前的文章《极简Spring Boot搭建、开发、部署》在http://start.spring.io 构建一个...

    做微服务,注册中心是少不了的,之前用Dubbo的时候用的是Zookeeper,Spring Cloud也有自己的注册中心——Eureka。

    按照之前的文章《极简Spring Boot搭建、开发、部署》在http://start.spring.io 构建一个Spring Boot工程,dependencies选web、Eureka Server。

    pom.xml:

    重要配置如下:

    1

    2

    3

    4

    5

    代码&配置:

    结构:

    代码结构

    启动类:

    启动类

    简单至极,就加上@EnableEurekaServer即可,没其他代码了。

    application.yml:

    配置文件

    说明:

    端口号就不解释了。

    A, 可以不配置,在eureka的监控页面上有个environment,会显示test。

    B, hostname也可以不配置,在D上直接写死即可,不过后面我们会配置Eureka集群,这里最好还是配上,当然不会是localhost了。

    C, 因为我们这个是服务端,所以自己不会去注册自己。下面我们会写需要注册的服务,这两个必须是true。

    D,可以写死。

    直接启动,访问http://127.0.0.1:8864,会看到以下页面:

    注意红框。

    需要注册的服务,去http://start.spring.io 构建一个Spring Boot工程,dependencies选web、Eureka Discovery。

    pom.xml:

    与注册中心基本相同,区别如下:

    代码&配置:

    启动类

    就加一个@EnableDiscoveryClient注解即可。

    A, 服务名。

    B, 需要向注册中心注册,且读取注册信息。

    C, 注册中心的url。

    先启动注册中心,再启动本服务,访问http://127.0.0.1:8864,监控页面如下:

    已经注册进去了,其他服务就可以调用了。

    还有一些配置,比如心跳发送间隔、注册中心多久没收到心跳就剔除服务等,大家可以自己查询API。

    单节点的注册中心开发环境中还可以,生产环境就得上高可用了。

    程序代码不需要改,但是要部署到不同的服务器或虚拟机或Docker上,IP、Hostname肯定不一样了。要么是打包之后修改配置文件,要么是配置好配置文件,在启动的时候指定。

    规划:

    先在三台服务器中修改hosts,把ip和hostname对应上。别忘了把防火墙中相应的端口打开。

    配置文件:

    修改application.yml,内容如下:

    server2

    server3

    具体就不解释了,都看得懂。

    启动&测试:

    打包之后,分别上传到服务器中,使用以下命令启动:

    java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=eurekaserver1

    java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=eurekaserver2

    java -jar eurekaserver-0.0.1-SNAPSHOT.jar --spring.profiles.active=eurekaserver3

    在我们的Windows系统中,如果也配置了hosts,可以通过hostname:port来访问,如果没有,就直接访问ip地址。

    三个监控页面如下:

    server1

    server2

    server3

    客户端配置:

    只需要把defaultZone一个URL地址改成三个即可,用,分隔。

    启动服务之后,可以刷新一下Eureka的三个监控页面,客户端已经注册进去了。


    展开全文
  • Spring Cloud 注册中心整合配置中心

    千次阅读 2018-12-01 16:07:38
    Spring Cloud 注册中心整合配置中心背景实现 背景 实现

    背景

    在常见的微服务架构中,注册中心(服务发现组件)和配置中心(配置管理组件)是必不可少的。注册中心具备服务注册、服务发现及服务检查等功能;配置中心则用于存放各类配置供服务消费者使用。相关的介绍已经有很多了,这里不再赘诉。从微服务的单一职责角度,这两者通常是分开部署,配置中心将自己注册到注册中心来提供高可用的配置获取功能。本文将介绍另一种方式,即注册中心与配置中心整合,一起部署。这样的好处是可以一台实例同时提供服务发现以及配置管理等功能,节约部署成本。

    实现

    本文以spring cloud框架为基础,采用eureka作为注册中心;使用spring cloud config提供配置管理功能其中配置文件放在本地(配置中心有很多中配置方式,为了简单方便可以使用本地存放)
    。整合过后的注册中心和配置中心称之为eureka-config-center。通过maven进行依赖管理。

    本文的所有代码托管在https://github.com/Hxuhao233/spring-cloud-demo

    目录结构

    eureka-config-center
    | —— src
         | —— main
              | —— java # Java代码
              | —— resources # 配置 
                   | —— config # 配置中心所管理的配置
                   |    | —— dev
                   |    |    | —— mysql.properties
                   |    | —— test
                   | —— application.properties  # eureka-config-center的配置
    

    依赖引入

    由于要整合注册中心和配置中心,所以二者的相关依赖需要一起引入
    pom.xml中关键的配置如下

    	<parent>
    	    <groupId>org.springframework.boot</groupId>
    	    <artifactId>spring-boot-starter-parent</artifactId>
    	    <version>1.5.8.RELEASE</version>
    	</parent>
    
    	<properties>
    	    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    	    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    	    <java.version>1.8</java.version>
    	    <spring-cloud.version>Dalston.SR4</spring-cloud.version>
    	</properties>
    
    	<!-- 注册中心 -->
    	<dependency>
    	    <groupId>org.springframework.cloud</groupId>
    	    <artifactId>spring-cloud-starter-eureka-server</artifactId>
    	</dependency>
    
    	<!-- 配置中心 -->
    	<dependency>
    	    <groupId>org.springframework.cloud</groupId>
    	    <artifactId>spring-cloud-config-server</artifactId>
    	</dependency>
        
    	<dependencyManagement>
    		<dependencies>
    			<dependency>
    				<groupId>org.springframework.cloud</groupId>
    				<artifactId>spring-cloud-dependencies</artifactId>
    				<version>${spring-cloud.version}</version>
    				<type>pom</type>
    				<scope>import</scope>
    			</dependency>
    		</dependencies>
    	</dependencyManagement>
    

    配置文件

    这里说的是启动eureka-config-center所需要的配置,存放在application.properties,而不是配置中心提供给服务消费者的配置(见下节)。
    有两个配置需要注意一下

    • spring.cloud.config.server.prefix,本来这个配置对于独立的配置中心无需设置,但由于本文将其与注册中心整合在一起,为了防止文件冲突,所以特别设置。
    • spring.cloud.config.server.native.searchLocations,这个配置用于设置配置中心搜索配置的路径,需要和配置文件存放的位置保持一致。
    ############################# 服务相关配置 #############################
    # 服务端口
    server.port=8081
    # 服务名称
    spring.application.name=eureka-config-server
    # 服务注册中心
    eureka.client.service-url.defaultZone=http://localhost:8081/eureka/
    # 环境
    spring.profiles.active=dev
    # 不注册自己
    eureka.client.register-with-eureka=false
    # 不检索服务
    eureka.client.fetch-registry=false
    
    ############################# 注册中心相关配置 #############################
    # dashboard页面url
    eureka.dashboard.path=/eurekaCenter
    
    ############################# 配置中心相关配置 #############################
    # 读取本地配置
    spring.profiles.include=native
    # 配置文件路径
    spring.cloud.config.server.native.searchLocations=classpath:/config/{profile}
    # 配置中心url前缀,防止跟注册中心的静态文件冲突
    spring.cloud.config.server.prefix=/config
    

    配置管理

    配置文件存放与src\main\resource\config下,与spring.cloud.config.server.native.searchLocations保持一致,这里为了举例分了两个环境dev,test,每个环境都只有一个配置文件mysql.properties

    mysql.url=123
    

    配置中心的文件命名规则以及对应的获取可以参考https://github.com/spring-cloud/spring-cloud-config

    启动类

    @EnableEurekaServer 用于启动注册中心
    @EnableConfigServer 用于启动配置中心

    @EnableEurekaServer
    @EnableConfigServer
    @SpringBootApplication
    public class EurekaConfigServer extends SpringBootServletInitializer {
    
       @Override
       protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
           return builder.sources(EurekaConfigServer.class);
       }
    
       public static void main(String[] args) {
           new SpringApplicationBuilder(EurekaConfigServer.class).web(true).run(args);
       }
    }
    

    效果展示

    启动之后,访问http://localhost:8081/eurekaCenter,这个是eureka的dashboard页面,可以看到注册中心已经成功启动了

    再访问http://localhost:8081/config/dev/mysql,这表示获取dev环境的mysql配置,可以看到mysql.url的值为123,与配置文件中的一致。
    获取到mysql的配置

    结语

    本文讲述了一种将注册中心与配置中心合并的方式。一体化的`eureka-config-conter节约了部署成本,然而从某种角度上也破坏了微服务的单一职责原则,这种方式是否真的合适有待考究。

    展开全文
  • springCloud注册中心处理注册事件

    千次阅读 2016-11-01 08:12:47
    springCloud注册中心处理注册事件,spring cloud服务注册

      spring cloud的注册中心是Eureka server。客户端通过http与注册中心交互。

      与zookeeper不同,Eureka server集群如果挂掉只剩一台还是能工作的。

      而zk的设计目标是一致性,使它用类似paxos协议去实现了。而这样设计的结果是如果zk集群挂掉了整个集群的一半及以上那么整个zk集群就不能工作了。这就是zk的死亡容忍性。举个例子:2台zk,只要挂掉一台就不能工作了,对应死亡容忍度为0。3台为1,4台也为1,5台为2,6台也为2.  因此从资源利用角度,奇数台是最佳的。

      以下为注册中心处理注册服务事件简要流程:

     

    做了两件主要的事情:
    1.往registry map中放了要注册的服务,registry map的key为appName,
    value 为 map<Long,LeaseInfo>
    2.如果不是从其它注册中心复制过来的话,需要通过网络传给其它注册中心

    核心调用方法:

    PeerAwareInstanceRegistryImpl. register

    该方法代码如下:
     @Override
        public void register(final InstanceInfo info, final boolean isReplication) {
            int leaseDuration = Lease.DEFAULT_DURATION_IN_SECS;
            if (info.getLeaseInfo() != null && info.getLeaseInfo().getDurationInSecs() > 0) {
                leaseDuration = info.getLeaseInfo().getDurationInSecs();
            }
            super.register(info, leaseDuration, isReplication);
            replicateToPeers(Action.Register, info.getAppName(), info.getId(), info, null, isReplication);
        }


      

      

    展开全文
  • Kubernetes 部署 Spring Cloud 注册中心 Eureka Server 系统环境 Java JDK 版本:openjdk:8-jdk Docker 版本: version 19.03.8 kubernetes 版本:1.14.0 SpringBoot 版本:2.0.3.RELEASE SpringCloud 版本:...
  • Spring cloud 注册中心使用简介

    千次阅读 2017-12-08 11:53:51
    Spring cloud 注册中心使用简介注册中心是服务发现的核心。它保存了各个可用服务实例的网络地址(IP Address和Port)。服务注册中心必须要有高可用性和实时更新功能。 Netflix Eureka 就是一个服务注册中心。它提供...
  • spring cloud 注册中心 instance_id 配置 consul 注册发现中心 instance_id 配置 ip + 端口 一般网上推荐的配置都是 ${spring.application.name}:${vcap.application.instance_id:${spring.application.instance_...
  • Spring Cloud注册中心对比 Eureka: Netflix公司开源的注册中心,分为Eureka Server和Eureka Client,Eureka Server需要单独作为一个服务发布,启动之后可以在浏览器中打开,Eureka Client则是需要注册到Eureka ...
  • SpringCloud注册中心Eureka源码分析 serviceUrls 在获取了Region和Zone的信息之后,才开始真正加载Eureka Server 的具体地址。他根据传入的参数按一定算法确定加载位于哪一个Zone配置的serviceUrls。 int ...
  • 用Maven项目创建的Spring Cloud注册中心Eureka项目报错 解决方法: 右键项目 – > 右键Maven – > 点击Update Project 就不报错了
  • SpringCloud搭建微服务架构 ...经过几天学习实践整理,已经完成SpringCloud 注册中心SpringCloud Config配置中心 搭建。 安装的三台Linux虚拟机: JDK环境1.8 master :192.168.0.132  打包运行注册中心 n...
  • SpringCloud注册中心(一)

    千次阅读 2019-01-03 14:00:01
    简介: Eureka是Netflix开发的服务发现...SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。 Eureka分为两个组件:server(服务端)和client(客户端) 注册中心节点默认时间...
  • 从上一篇Nacos简单了解了它所能提供的功能。...那么我们就要考虑微服务springcloud在容器以及网格化的改造迁移的适配。那么Nacos可以作为一个选择。下面我们就进行spring cloud集成Nacos 的替换步骤。 微服务spr...
  • 部署springcloud高可用注册中心 使用eureka实现分布式服务治理,在搭建eureka的注册中心时,一般有如下配置 eureka.client.registerWithEureka =false //本身不注册为服务 eureka.client.fetchRegistry = false ...
  • SpringCloud的几大痛点 SpringCloud部分组件停止维护和更新,给开发带来不便; SpringCloud部分环境搭建复杂,没有完善的可视化界面,我们需要大量的二次开发和定制 SpringCloud配置复杂,难以上手,部分配置差别难以...
  • 但防止注册中心挂掉,可以再运行一个,服务对两个注册中心互相注册创建另一个 Eureka Server修改 Eureka Client的application.yml启动springcloud-other,重启springcloud-consumer 创建 Eureka Ser
  • Spring Cloud 注册中心在tomcat中部署

    万次阅读 2017-08-19 08:41:01
    前言最近刚刚接触spring boot 和spring cloud,只知道可以直接通过main方法启动服务,一直不会将项目部署到tomcat中,今天学了一下,做个记录备忘. 步骤pom文件在pom文件中引入spring-boot-starter-web,然后排除掉内置的...
  • 一。eureka server 端配置1....org.springframework.cloud&lt;/groupId&gt; &lt;artifactId&gt;spring-cloud-starter-netflix-eureka-server&lt;/artifactId&gt; &lt;/depend...
  • SpringCloud注册中心编写和测试 (1)创建注册中心工程 (2)添加jar包 pom.xml 4.0.0 com.jh TestSpringCloud 0.0.1-SNAPSHOT jar TestSpringCloud http://maven.apache.org &amp;amp;amp;...
  • 1. 关于Eureka的简单介绍 服务治理: 为了实现各个微服务实例的自动化...Eureka服务端(即为注册中心):支持高可用性,依托于强一致性提供良好的服务实例可用性,可以多种不同的故障场景;以集群方式部署,具有...
  • 部署好spring cloud注册中心之后,如果某个服务提供者关闭或者出现什么异常而不能用,注册中心会提示: EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY’RE NOT. RENEWALS ARE LESSER ...
  • Eureka是netflix公司的,也是较早出现作为注册中心的组件,2.X已不再更新维护,最新稳定版为v1.9.12,查看spring-cloud-starter-netflix-eureka-client的Maven依赖,eureka-client和eureka-core版本就是1...
  • SpringCloud注册中心-Eureka

    千次阅读 2019-05-03 11:29:49
    1.Eureka注册中心 1.1.Eureka简介 首先我们来解决第一问题,服务的管理。 问题分析 在刚才的案例中,user-service对外提供服务,需要对外暴露自己的地址。而consumer(调用者)需要记录服务提供者的地址。将来地址...
  • pom文件注意:spring cloud server 使用时需要注意parent的版本号和dependencies的版本号,1.3版本的parent请使用Brixton.SR5 xmlns:xsi="ht
  • 【Docker】(5)—springCloud注册中心打包Docker镜像 上一篇文章讲了将镜像推送到远处私有仓库,然后再从私有仓库拉取该镜像的过程。而这里的镜像是直接从Docker拉取的。 所以这篇要讲的就是将本地项目打包成Docker...
  • springcloud注册中心、网关

    千次阅读 2019-06-08 09:25:30
    一、服务注册中心 1.新建一个项目,右键项目新建一个组件(new ->Module) test-eureka 2.依赖 3.配置文件 4.建包 引入注解 二、网关 1.新建一个项目,右键项目新建一个组件(new ->Module) test-gateway 2....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,199
精华内容 7,679
关键字:

springcloud注册中心

spring 订阅