当前位置: 首页 > news >正文

三个字广告公司名称/seo广告优化多少钱

三个字广告公司名称,seo广告优化多少钱,永久免费ppt下载网站,做的好的大学生旅行有哪些网站好微信公众号:bugstack虫洞栈 沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。目前已完成的专题有;Netty4.x实战专题案例、用Java实现JVM、基于JavaAgent的全链路监控、手…

微信公众号:bugstack虫洞栈
沉淀、分享、成长,专注于原创专题案例,以最易学习编程的方式分享知识,让自己和他人都能有所收获。目前已完成的专题有;Netty4.x实战专题案例、用Java实现JVM、基于JavaAgent的全链路监控、手写RPC框架、架构设计专题案例[Ing]等。

前言介绍

在微服务架构中,为了更方便的向微服务实例广播消息,我们通常会构建一个消息中心,让所有的服务实例都连接上来,而该消息中心所发布的消息都会被微服务实例监听和消费,我们把这种机制叫做消息总线(SpringCloud Bus)

当我们的微服务达到是几个到百个以上,在更新配置时,不太可能一个个刷新或者重启,这样既不能保证效率也容易导致遗漏造成事故。因此我们需要SpringCloud Bus 提供总线服务,在我们push代码到Git的时候,通过Webhooks(http://localhost:port/actuator/bus-refresh/)执行刷新,消息总线会通知各个实例更新配置,以达到自动更新全服务配置。

微信公众号:bugstack虫洞栈 & 消息总线配置更新

环境准备

  1. jdk 1.8、idea2018、Maven3
  2. Spring Boot 2.0.6.RELEASE
  3. Spring Cloud Finchley.SR2
  4. 需要有一个Git帐号,用来创建配置中心以及开启Webhooks服务,添加回调
  5. RabbitMQ服务端环境安装
    1. 下载Erlang;http://www.erlang.org/downloads {安装后配置环境变量:D:\Program Files\erl10.5}
    2. 下载rabbitMQ;http://www.rabbitmq.com/download.html {安装后CMD依次执行}
      • cd D:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.1\sbin
      • rabbitmq-plugins.bat enable rabbitmq_management
      • rabbitmq-service.bat stop
      • rabbitmq-service.bat start
      • 浏览器访问;http://127.0.0.1:15672
      • 服务端口5672

代码示例

itstack-demo-springcloud-07
├── itstack-demo-springcloud-config-client
│   └── src
│       └── main
│           ├── java
│           │   └── org.itstack.demo
│           │        ├── web
│           │        │   └── ConfigClientController.java      
│           │        └── ConfigClientApplication.java
│           └── resources   
│               ├── application.yml
│               └── bootstrap.yml
├── itstack-demo-springcloud-config-server
│   └── src
│       └── main
│           ├── java
│           │   └── org.itstack.demo   
│           │        └── ConfigServerApplication.java
│           └── resources   
│               └── application.yml
└── itstack-demo-springcloud-eureka-server└── src└── main├── java│   └── org.itstack.demo   │        └── EurekaServerApplication.java└── resources   └── application.yml

完整代码欢迎关注公众号:bugstack虫洞栈 回复“SpringCloud专题”进行下载

itstack-demo-springcloud-config-client | 配置获取客户端方,提供自动刷新Http

web/ConfigClientController.java & 添加注解@RefreshScope自动刷新配置

/*** 微信公众号:bugstack虫洞栈 | 沉淀、分享、成长,专注于原创专题案例* 论坛:http://bugstack.cn* Create by 付政委 on @2019*/
@RestController
@RefreshScope
public class ConfigClientController {@Value("${info.profile:error}")private String profile;@GetMapping("/config")public Mono<String> config() {return Mono.justOrEmpty(profile);}}

ConfigClientApplication.java & 普通配置即可

/*** 微信公众号:bugstack虫洞栈 | 沉淀、分享、成长,专注于原创专题案例* 论坛:http://bugstack.cn* Create by 付政委 on @2019*/
@SpringBootApplication
public class ConfigClientApplication {public static void main(String[] args) {SpringApplication.run(ConfigClientApplication.class, args);}}

application.yml & 需要配置endpoints,这样才可以暴漏刷新服务

spring:application:name: itstack-demo-springcloud-config-clientcloud:bus:trace:enabled: trueenabled: true
server:port: 9001# 如果不使用消息总线,则开启如下配置 /actuator/refresh 这个 Endpoint 暴露出来
#management:
#  endpoints:
#    web:
#      exposure:
#        include: refresh

bootstrap.yml & 配置中心服务配置,http://localhost:7397 添加配置服务

spring:cloud:config:name: config-client         # 对应 {application} 部分,例如;config-client-dev = 只取最后一个符号'-'之前的profile: dev                # 对应 {profile} 部分label: master               # 对应 {label} 部分,即 Git 的分支。如果配置中心使用的是本地存储,则该参数无用discovery:enabled: true             # 开启 config 服务发现支持service-id: itstack-demo-springcloud-config-server        # 配置服务name#配置文件会被转换成 Web,访问规则如下;
#/{application}/{profile}[/{label}]
#/{application}-{profile}.yml
#/{label}/{application}-{profile}.yml
#/{application}-{profile}.properties
#/{label}/{application}-{profile}.propertieseureka:client:service-url:defaultZone: http://localhost:7397/eureka/

itstack-demo-springcloud-config-server | 配置提供服务端方,链接Git配置工程地址

ConfigServerApplication.java & 添加注解@EnableConfigServer设置成配置服务中心

/*** 微信公众号:bugstack虫洞栈 | 沉淀、分享、成长,专注于原创专题案例* 论坛:http://bugstack.cn* Create by 付政委 on @2019*/
@SpringBootApplication
@EnableConfigServer
public class ConfigServerApplication {public static void main(String[] args) {SpringApplication.run(ConfigServerApplication.class, args);}}

application.yml & 配置信息,消息总线刷新

server:port: 8080spring:application:name: itstack-demo-springcloud-config-servercloud:config:server:git:uri: https://github.com/fuzhengwei/itstack-demo-config  # 换成自己的配置Git仓库的地址,如果没有可以新建工程地址,也可以克隆我的;https://github.com/fuzhengwei/itstack-demo-configsearch-paths: config-repo                               # Git仓库地址下的底层配置文件名称,如果配置多个用逗号','分割。# 如果配置中心需要访问权限,则开启配置
# spring.cloud.config.server.git.username:Github账户
# spring.cloud.config.server.git.password:Github密码eureka:client:service-url:defaultZone: http://localhost:7397/eureka/
management:endpoints:web:exposure:include: bus-refresh

itstack-demo-springcloud-eureka-server | 服务注册发现

EurekaServerApplication.java & 添加注解@EnableEurekaServer启动服务发现

/*** 微信公众号:bugstack虫洞栈 | 沉淀、分享、成长,专注于原创专题案例* 论坛:http://bugstack.cn* Create by 付政委 on @2019*/
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {public static void main(String[] args) {SpringApplication.run( EurekaServerApplication.class, args );}}

application.yml & 配置信息

server:port: 7397eureka:instance:hostname: localhostclient:registerWithEureka: falsefetchRegistry: falseserviceUrl:defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/spring:application:name: itstack-demo-springcloud-eureka-server

测试验证

  1. 准备好自己Github的配置仓库,也可以克隆我的Git;https://github.com/fuzhengwei/itstack-demo-config {有一组配置配置文件}

  2. 配置Webhooks,在https://github.com/换你自己的fuzhengwei/换你自己的itstack-demo-netty/settings/hooks/new

  3. 分别启动服务

    1. 启动RabbitMQ服务;http://127.0.0.1:15672/#/
    2. itstack-demo-springcloud-eureka-server 服务注册发现
    3. itstack-demo-springcloud-config-server 配置Server
    4. itstack-demo-springcloud-config-client 配置Client
  4. 访问配置服务,端口7397;http://localhost:8080/config-client/dev

    1. 访问结果
    {"name": "config-client","profiles": ["dev"],"label": null,"version": "ea0b1a1017595d542aa01b8b2bda68f9620dd81a","state": null,"propertySources": [{"name": "https://github.com/fuzhengwei/itstack-demo-config/config-repo/config-client-dev.yml","source": {"info.profile": "dev bus"}}]
    }
    
    1. 访问规则{配置文件会被转换成 Web 接口,规则如下}
    • /{application}/{profile}[/{label}]
    • /{application}-{profile}.yml
    • /{label}/{application}-{profile}.yml
    • /{application}-{profile}.properties
    • /{label}/{application}-{profile}.properties
    1. 访问配置文件;http://localhost:8080/config-client-dev.yml {可以直接访问查看配置信息}
    info:profile: dev bus
    
  5. 访问使用配置的客户端

    1. 访问端口9001;http://localhost:9001/config
      dev bus
      
    2. 更改配置,POST请求刷新配置总线;http://localhost:8080/actuator/bus-refresh/ {如果配置Git的Webhooks则更新代码自动刷新}
    3. 访问端口9001;http://localhost:9001/config
      dev
      

综上总结

  1. Spring Cloud Bus 可以更加方便的控制全局信息,用于统一刷新并通过MQ方式通过客户端
  2. 如果你的内网想进行Git的Webhooks配置,可以使用http://natapp.cn进行内网穿透映射,他会给你提供免费外网调用服务
  3. 消息总线方式不只是应用于配置刷新,在一起同步信息请求中都可以使用,以及自己的项目架设上

微信公众号:bugstack虫洞栈,欢迎关注&获取源码

http://www.lbrq.cn/news/787159.html

相关文章:

  • 网站建设地域名/网络营销教程
  • 做分类信息网站如何/企业网站推广方案策划
  • 电子商务官网首页/菏泽资深seo报价
  • 泰安企业网站建设公司/公司网站注册流程和费用
  • 武汉新闻网今日新闻/搜索引擎优化是什么?
  • 河南建设工程信息网官方网站/发布软文广告
  • 大连网站建设找简维科技/拼多多网店代运营要多少费用
  • 网站建设教程 第十课 cf战队网站制作教程和源码/推广电话
  • 兼职做ppt是哪个网站/站长之家ip地址查询
  • soho在哪里做网站/企业培训课程清单
  • 网站建设课程设计实验报告/企业如何进行网站推广
  • 珠海城乡建设网站/站长工具介绍
  • 最好的网站优化公司/网络营销的含义
  • 洛阳哪有做公司网站的/整合营销策划方案
  • 甘肃省建设工程造价信息网站/域名注册费用
  • 平度做网站/线下推广方法有哪些
  • 网站开发所需技术/青岛网站制作
  • 邯郸网站制作费用/友情链接交换平台源码
  • 郑州专业做网站多少钱/优化大师客服
  • 百度互联网营销/上海关键词优化公司哪家好
  • 在深圳做的网站好做吗/淘宝seo排名优化软件
  • 圣辉友联做网站公司/2023年8月疫情又开始了吗
  • 做网站换服务器怎么整/做了5天游戏推广被抓了
  • 做图标得英文网站/如何推广我的网站
  • 莱芜四大金刚是谁啊/沈阳关键词seo排名
  • 桐庐县住房和城乡建设局网站/优化加速
  • 大连培训通网站建设/网页制作软件dw
  • apache做网站/关键词文案生成器
  • 网站站点建设中端口号的作用/百度推广客户端怎样注册
  • discuz wordpress 整合/谷歌seo搜索引擎下载
  • HTTPS有哪些优点
  • MS-DOS 常用指令集
  • C++入门自学Day6-- C++模版
  • [spring-cloud: 负载均衡]-源码分析
  • sqli-labs:Less-23关卡详细解析
  • 思途JSP学习 0802(项目完整流程)