springcloud kafka 分布式配置中心管理

springcloud kafka 分布式配置中心管理

大家好,又见面了,我是你们的朋友全栈君。

  1. 配置管理服务端   更新配置信息需要调用接口地址(post请求)/bus/refresh

1.1配置管理服务端需要的jar

<dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-config-server</artifactId>

</dependency>

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

<!– 注册中心–>

<dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-starter-eureka</artifactId>

</dependency>

<!– kafka消息中心 –>

<dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-starter-bus-kafka</artifactId>

</dependency>

<dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-config-monitor</artifactId>

</dependency>

1.2.在bootstrap.yml中添加

spring:

  application:

    name: framework-config-service

#配置文件设置成本地模式

  profiles:

    active: native

#开启消息总线刷新

  cloud:

    bus:

      enabled: true

    config:

      server:

        native:

          search-locations: F:/config/

#设置消息总线的地址

    stream:

      kafka:

        binder:

          brokers: 10.1.110.45:9092,10.1.110.44:9092

          zkNodes: 10.1.110.45:2181,10.1.110.44:2181

server:

  port: 8899

#关闭安全验证

management:

  security:

    enabled: false

#注册中心

eureka:

  client:

    service-url:http://localhost:8761/eureka/

 

1.3.启动项设置

@SpringBootApplication

@EnableDiscoveryClient

@EnableConfigServer

@RefreshScope

public class ConfigBoostrap {

    public static void main(String[] args) {

        ApplicationContext applicationContext = SpringApplication.run(ConfigBoostrap.class, args);

    }

}

 

  1. 配置文件管理客户端配置

2.1.需要的jar

<!– kafka消息中心 –>

<dependency>

   <groupId>org.springframework.cloud</groupId>

   <artifactId>spring-cloud-starter-bus-kafka</artifactId>

</dependency>

<!– 配置文件–>

<dependency>

   <groupId>org.springframework.cloud</groupId>

   <artifactId>spring-cloud-config-client</artifactId>

</dependency>

<!–信息采集 –>

<dependency>

   <groupId>org.springframework.boot</groupId>

   <artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

2.2.消息总线的配置需要在bootstrap.yml中设置

#配置消息总线

spring:

  cloud:

    stream:

      kafka:

        binder:

          brokers: 10.1.110.45:9092,10.1.110.44:9092

          zkNodes: 10.1.110.45:2181,10.1.110.44:2181

#启动配置文件中心读取

    config:

      discovery:

        enabled: true

        service-id: framework-config-service

      profile: dev

  application:

    name: framework-common-service

#注册中心

eureka:

  client:

    service-url:

      defaultZone: http://localhost:8761/eureka/

management:

  security:

    enabled: false

server:

  port: 8760

2.3.在启动项添加@EnableDiscoveryClient注解

 

@SpringBootApplication

@EnableDiscoveryClient

@EnableFeignClients

@EnableHystrixDashboard

@EnableCircuitBreaker

//@MapperScan(basePackages = “com.tzbank.common.dao”)

public class CommonBootstrap {

   public static void main(String[] args) {

      ApplicationContext applicationContext = SpringApplication.run(CommonBootstrap.class, args);

      SpringContextUtils.setApplicationContext(applicationContext);

   }

}

2.4.需要动态刷新的数据,取值的写法

需要在有刷新的数据的类或者方法上加上

@RefreshScope注解

取值的方法有:

import org.springframework.core.env.Environment;中取值

@Autowired

Environment environment;

或者直接绑定${value}中的value是对应配置文件的值

@Vlue(“${value}”)

Private String value;

 

转载于:https://my.oschina.net/youkun/blog/1834460

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107456.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • JVM内存结构图解

    JVM内存结构图解一 真实系统中的概念  JVM(JavaVirtualMachine),顾名思义是对真实计算机系统的模拟,正因如此才能屏蔽物理机器的变化,从而实现“一次编译,到处运行”。  相信很多Java程序员经常听到堆、栈等概念,也会进行设置调优以让Java应用能够更好地运行,但对于JVM与真实计算机系统之间的关系并没有特别清晰的认识。因此,这里先简单介绍下真实计算机系统中的一

  • 自学Java开发一般需要多久?

    自学Java开发一般需要多久?自学Java开发一般需要多久?相信有很多想转行或者想学习Java的人都会关注这个问题!那我们今天就来说一下这个问题,具体需要多久呢?这个时间因人而异,毕竟每个人的学习能力和效率都是不同的!打个比方,如果你是零基础,每天学习8小时,基本上每天都按时学习的话,大概需要半年多的时间,就能学的差不多了!如果你本身就会C或C++语言,那么Java对你来说也许会简单许多,学起来自然就快了!下面就给大家简单说一下学习方法,让你尽可能快的学会Java!学习路线:…

  • BN层pytorch实现[通俗易懂]

    BN层pytorch实现[通俗易懂]#CreatedbyXkyat2019/11/29importtimeimporttorchimporttorchvisionimporttorch.nnasnnimportsysimporttorchvision.transformsastransformsfromtorch.utils.data.dataloaderimportDataLoad…

    2022年10月14日
  • Java8-Stream API

    Java8-Stream API

  • Vuex实践-mapState和mapGetters

    Vuex实践-mapState和mapGetters一.前言  本文章是vuex系列的最后一篇,主要总结的是如何使用mapState和mapGetters访问vuex中的state和getters。二.多个模块中mapState和mapGetters的使用  上一篇文章《Vuex实践(中)》里面我们总结的就是多模块的内容,所以关于store.js、moduleA.js和moduleB.js的代码保持不变。  在此为了方便观看,我将这…

  • java输出结果保留两位小数,经典好文

    java输出结果保留两位小数,经典好文前言面试技巧另外开篇再说,先上面试干货吧。面试的题目并不一定有严格的顺序关系,有的是从前一个问题延伸而来,(探究的是一个知识的深度),有的是考察面试者的知识广度、有的纯粹是我想到哪里写到哪里的啦。。不要太在意哈,最近工作有点忙。基础知识RabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,它是使用Erlang语言来编写的,并且是基于AMQP协议的;RabbitMQ高性能的原因Erlang语言在交换机的交互方面性能优秀的(Erlang语言最初在于交换机领域

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号