Bumblebee微服务网关之consul服务发现
网关需要维护相关负载的服务器,手动添加相对来说是一件比较麻烦的工作;为了解决这一问题组件扩展了一个基于consul
服务发现插件,通过配置这个插件和启用后网关会自动从consul
服务中获取服务并添加到网关对应的路由负载规则中。
引用插件
Bumblebee
使用服务发现需要引用两个插件,分别是BeetleX.Bumblebee.Configuration
和BeetleX.Bumblebee.BeetleX.Bumblebee.Consul
。加载启动后就可以通过管理工具进行插件配置.
g = new Gateway();g.HttpOptions(o => {o.Port = 80;o.LogToConsole = true;o.LogLevel = BeetleX.EventArgs.LogType.Error; });g.Open();g.LoadPlugin(typeof(Bumblebee.Configuration.Management).Assembly,typeof(Bumblebee.Consul.ConsulPlugin).Assembly );
如果不想自己编写代码可以下载编译的运行包 https://github.com/IKende/Bumblebee/blob/master/bin/ 下载1.1.9
或更高版本;运行后 访问 http://host/__system/bumblebee/
插件管理
运行程序后进行配置管理工具的插件管理页面,可以看到Consul插件,组件默认是关闭需要进行一些配置。
插件配置
{"ConsulAddress": "http://192.168.2.19:8500","Services": ["bumblebee_services" ],"Token": null,"DataCenter": "dc1"}
ConsulAddress 对应
Consul
的服务地址Services 检索相应名称的服务列表一个或多个
Token 访问
Consul
相应的Token信息DataCenter 检索相应的数据中心名称
配置完成后只需要启用插件即可
注册要求
Dictionary<string, string> meta = new Dictionary<string, string>();meta.Add("path", "^/home.*");client.Agent.ServiceDeregister("api_test1").Wait();client.Agent.ServiceDeregister("api_test2").Wait();client.Agent.ServiceRegister(new AgentServiceRegistration{Tags = new string[] { "Bumblebee" },Address = "192.168.2.18",Port = 8080,Name = "bumblebee_services",Meta = meta,ID = "api_test1"}).Wait();
以上是一个简单的注册代码,如果想服务需要注册到相应路由规则下的负载需要指定path
,在不指写的情况bumblebee
获取后会注册到默认路由规则上。
状态跟踪和故障
bumblebee
内部有一套服务监控和故障处理机制无须依据consul相关状态注册信息;bumblebee
会根据自身的检测机制对应用进行一个负载迁移和恢复处理。
关注公众号
https://github.com/IKende/
高性能的服务通讯框架 Beetlex(http,rpc,gateway的详细实现)
Bumblebee微服务网关之consul服务发现相关推荐
- 微服务网关Ocelot
微服务网关是微服务架构中的核心组件,它是客户端请求的门户,它是调用具体服务端的桥梁.下面我们将使用开源项目Ocelot(https://github.com/geffzhang/Ocelot)搭建一款 ...
- 《深入理解 Spring Cloud 与微服务构建》第十一章 服务网关
<深入理解 Spring Cloud 与微服务构建>第十一章 服务网关 文章目录 <深入理解 Spring Cloud 与微服务构建>第十一章 服务网关 一.服务网关简介 二. ...
- 微服务网关:SpringCloud Gateway保姆级入门教程
什么是微服务网关 SpringCloud Gateway是Spring全家桶中一个比较新的项目,Spring社区是这么介绍它的: 该项目借助Spring WebFlux的能力,打造了一个API网关.旨 ...
- 什么是微服务网关?SpringCloud Gateway保姆级入门教程
什么是微服务网关 SpringCloud Gateway是Spring全家桶中一个比较新的项目,Spring社区是这么介绍它的: 该项目借助Spring WebFlux的能力,打造了一个API网关.旨 ...
- consul服务注册与发现机制
注册中心引入 最近,网关服务让下游服务接入consol,为了解决网关转发下游服务,下游服务刚好有节点不可用,转发到不可用的节点上报错.针对分布式多节点,上面的问题常会发生,就引入了注册中心. 那什么是 ...
- Consul服务注册与发现
Consul服务注册与发现 1.Consul简介 1.1 什么是Consul? 1.2 Consul能干什么? 1.3 下载Consul 2.安装并运行Consul 2.1 官网安装说明 2.2 使用 ...
- [菜鸟SpringCloud实战入门]第九章:服务网关Zuul体验
前言 欢迎来到菜鸟SpringCloud实战入门系列(SpringCloudForNoob),该系列通过层层递进的实战视角,来一步步学习和理解SpringCloud. 本系列适合有一定Java以及Sp ...
- Api-gateway服务网关gravitee.io的探索之路(一)
没有具体场景的技术都是耍流氓. 先说下公司场景,公司是一家金融公司,各种应用也有十几个,都是这些年积累下来的,团队也是五花八门,本土的,外包的,互相之间经常要对接,调用,每次大家都感觉特别麻烦.说实话 ...
- consul 日志配置_微服务:服务注册发现+ API 网关+配置中心+服务跟踪+服务熔断...
服务注册发现 服务注册就是维护一个登记簿,它管理系统内所有的服务地址.当新的服务启动后,它会向登记 簿交待自己的地址信息.服务的依赖方直接向登记簿要 Service Provider 地址就行了.当下 ...
最新文章
- 深入浅出K-Means算法
- 47.内存连续分配管理方式有哪几种?
- Android动态加载技术
- Python爬虫利器四PhantomJS的用法
- 常见的几种内排序算法以及实现(C语言)(转)
- sql 日期加1天_SQL基础知识——BETWEEN
- kubernetes视频教程笔记 (39)-高可用的K8S构建-kubeadm部署安装
- Java并发编程:Lock(下)
- 火力全开,同时分解(切脸)多个视频
- 固高运动控制卡学习6 --编码器
- 主成分分析之数学推导
- 虚拟软驱subst.exe
- 从零开始做运营第一课:运营是做什么的?一篇文章解释清楚!
- 模仿百思不得姐项目开发总结
- css 文字颜色渐变 animation,css3文字渐变动画
- vue-cli脚手架是什么及其脚手架搭建
- 【蓝桥杯】历届试题 对局匹配(贪心)
- VHDL实现数字频率计的设计
- rk3128-android5.1-ota升级清除data分区
- 可爱插画风格小学生暑期安全教育PPT模板