Envoy熔断限流实践(二)Rainbond基于RLS服务全局限流
info
Envoy 可以作为 Sevice Mesh 微服务框架中的代理实现方案,Rainbond 内置的微服务框架同样基于 Envoy 实现。本文所描述的熔断实践基于 Rainbond 特有的插件机制实现。
Envoy熔断限流实践(一)基于Rainbond插件实现熔断
info
Envoy 可以作为 Sevice Mesh 微服务框架中的代理实现方案,Rainbond 内置的微服务框架同样基于 Envoy 实现。本文所描述的熔断实践基于 Rainbond 特有的插件机制实现。
在Rainbond上部署高可用Apollo集群
info
当前文档描述如何通过云原生应用管理平台 Rainbond 一键安装高可用 Apollo 集群。这种方式适合给不太了解 Kubernetes、容器化等复杂技术的用户使用,降低了在 Kubernetes 中部署 Apollo 的门槛。
在Rainbond上部署高可用Apollo集群
info
当前文档描述如何通过云原生应用管理平台 Rainbond 一键安装高可用 Apollo 集群。这种方式适合给不太了解 Kubernetes、容器化等复杂技术的用户使用,降低了在 Kubernetes 中部署 Apollo 的门槛。
eBPF Cilium实战(2) - 底层网络可观测性
info
在之前的平台中,对于组件之间的网络流向不具备直接的可观测性,用户组件间通信出现问题,只能通过传统命令行工具进行手动排查,而 cilium 的 Hubble 服务可以提供 UI 界面向用户展示实时的流量状态,同时可以将这些指标暴露给 Prometheus 进行聚合整理,让用户可以更直观的对底层网络状态进行观测监控。
eBPF Cilium实战(1) - 基于团队的网络隔离
info
在 Rainbond 集群中,每个团队对应于底层 Kubernetes 的一个 Namespace ,由于之前使用的底层网络无法进行 Namespace 级别的网络管理,所以在 Rainbond 同一集群下的不同团队间,所以组件可以自由的进行互相访问,用户无法对此做出任何限制,这也导致了底层网络的安全隐患一直存在。现在由 cilium 提供网络服务的 Kubernetes 集群可以很好的解决这一问题,用户可以根据自己的需求,制定针对每个团队、每个组件的网络策略,加强底层网络管理,实现网络层的安全把控。
在 Rainbond 中一键安装高可用 Nacos 集群
info
Rainbond 与 Nacos 的结合
Rainbond 是一款易于使用的开源云原生应用管理平台。借助于它,用户可以在图形化界面中完成微服务的部署与运维。借助 Kubernetes 和容器化技术的能力,将故障自愈、弹性伸缩等自动化运维能力赋能给用户的业务。
Rainbond 内置原生 Service Mesh 微服务框架,同时与 Spring Cloud、Dubbo 等其他微服务框架也有很好的整合体验。故而大量的 Rainbond 用户也可能是 Nacos 微服务注册中心的用户。这类用户不必再关心如何部署 Nacos 集群,Rainbond 团队将 Nacos 制作成为可以一键部署的应用模版,供开源用户免费下载安装。这种安装方式极大的降低了用户使用 Nacos 集群的部署负担,目前支持 1.4.2 与 2.0.4 版本。
关于应用模版
应用模版是面向 Rainbond 云原生应用管理平台的安装包,用户可以基于它一键安装业务系统到自己的 Rainbond 中去。无论这个业务系统多么复杂,应用模版都会将其抽象成为一个应用,裹挟着应用内所有组件的镜像、配置信息以及所有组件之间的关联关系一并安装起来。
前提条件
部署好的 Rainbond 云原生应用管理平台,快速体验版本 可以在个人 PC 环境中以启动一个容器的代价运行。
互联网连接。
快速开始
- 访问内置的开源应用商店
选择左侧的 应用市场 标签页,在页面中切换到 开源应用商店 标签页,搜索关键词 nacos 即可找到 Nacos-cluster 应用。
- 一键安装
点击 Nacos-cluster 右侧的 安装 可以进入安装页面,填写简单的信息之后,点击 确定 即可开始安装,页面自动跳转到拓扑视图。
参数说明:
选择项 | 说明 |
---|---|
团队名称 | 用户自建的工作空间,以命名空间隔离 |
集群名称 | 选择 Nacos 被部署到哪一个 K8s 集群 |
选择应用 | 选择 Nacos 被部署到哪一个应用,应用中包含有若干有关联的组件 |
应用版本 | 选择 Nacos 的版本,目前可选版本为 1.4.2、2.0.4 |
等待几分钟后,Nacos 集群就会安装完成,并运行起来。
- 测试
需要执行服务注册的其他微服务组件,可以在建立面向 Nacos 的依赖关系后,使用 ${NACOS_HOST}:${NACOS_PORT}
来连接到 Nacos 集群。
服务注册
curl -X PUT "http://${NACOS_HOST}:${NACOS_PORT}/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080"
服务发现
curl -X GET "http://${NACOS_HOST}:${NACOS_PORT}/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName"
发布配置
curl -X POST "http://${NACOS_HOST}:${NACOS_PORT}/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"
获取配置
curl -X GET "http://${NACOS_HOST}:${NACOS_PORT}/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
高级特性
- 一键安装而来的 Nacos 集群中包含 3 个实例,并且通过初始化插件自动完成自组集群并选举的操作。
- 默认集成了 Mysql 作为数据源。在 Nacos-server-2.0.4 组件的环境配置中配置如下环境变量,可以切换到其他外部数据源。
名称 | 必要 | 描述 |
---|---|---|
MYSQL_SERVICE_HOST | Y | 数据库地址 |
MYSQL_SERVICE_PORT | Y | 数据库端口 |
MYSQL_SERVICE_USER | Y | 数据库用户名 |
MYSQL_SERVICE_PASSWORD | Y | 数据库密码 |
MYSQL_SERVICE_DB_NAME | Y | 数据库名 |
- 默认生成了 Nacos-server-2.0.4 的数据持久化目录。
- 默认配置了 Nacos-server-2.0.4 的健康检查机制,保障实例故障时自动下线,恢复后自动上线。
在 Rainbond 中一键安装高可用 Nacos 集群
info
Rainbond 与 Nacos 的结合
Rainbond 是一款易于使用的开源云原生应用管理平台。借助于它,用户可以在图形化界面中完成微服务的部署与运维。借助 Kubernetes 和容器化技术的能力,将故障自愈、弹性伸缩等自动化运维能力赋能给用户的业务。
Rainbond 内置原生 Service Mesh 微服务框架,同时与 Spring Cloud、Dubbo 等其他微服务框架也有很好的整合体验。故而大量的 Rainbond 用户也可能是 Nacos 微服务注册中心的用户。这类用户不必再关心如何部署 Nacos 集群,Rainbond 团队将 Nacos 制作成为可以一键部署的应用模版,供开源用户免费下载安装。这种安装方式极大的降低了用户使用 Nacos 集群的部署负担,目前支持 1.4.2 与 2.0.4 版本。
关于应用模版
应用模版是面向 Rainbond 云原生应用管理平台的安装包,用户可以基于它一键安装业务系统到自己的 Rainbond 中去。无论这个业务系统多么复杂,应用模版都会将其抽象成为一个应用,裹挟着应用内所有组件的镜像、配置信息以及所有组件之间的关联关系一并安装起来。
前提条件
部署好的 Rainbond 云原生应用管理平台,快速体验版本 可以在个人 PC 环境中以启动一个容器的代价运行。
互联网连接。
快速开始
- 访问内置的开源应用商店
选择左侧的 应用市场 标签页,在页面中切换到 开源应用商店 标签页,搜索关键词 nacos 即可找到 Nacos-cluster 应用。
- 一键安装
点击 Nacos-cluster 右侧的 安装 可以进入安装页面,填写简单的信息之后,点击 确定 即可开始安装,页面自动跳转到拓扑视图。
参数说明:
选择项 | 说明 |
---|---|
团队名称 | 用户自建的工作空间,以命名空间隔离 |
集群名称 | 选择 Nacos 被部署到哪一个 K8s 集群 |
选择应用 | 选择 Nacos 被部署到哪一个应用,应用中包含有若干有关联的组件 |
应用版本 | 选择 Nacos 的版本,目前可选版本为 1.4.2、2.0.4 |
等待几分钟后,Nacos 集群就会安装完成,并运行起来。
- 测试
需要执行服务注册的其他微服务组件,可以在建立面向 Nacos 的依赖关系后,使用 ${NACOS_HOST}:${NACOS_PORT}
来连接到 Nacos 集群。
服务注册
curl -X PUT "http://${NACOS_HOST}:${NACOS_PORT}/nacos/v1/ns/instance?serviceName=nacos.naming.serviceName&ip=20.18.7.10&port=8080"
服务发现
curl -X GET "http://${NACOS_HOST}:${NACOS_PORT}/nacos/v1/ns/instance/list?serviceName=nacos.naming.serviceName"
发布配置
curl -X POST "http://${NACOS_HOST}:${NACOS_PORT}/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test&content=helloWorld"
获取配置
curl -X GET "http://${NACOS_HOST}:${NACOS_PORT}/nacos/v1/cs/configs?dataId=nacos.cfg.dataId&group=test"
高级特性
- 一键安装而来的 Nacos 集群中包含 3 个实例,并且通过初始化插件自动完成自组集群并选举的操作。
- 默认集成了 Mysql 作为数据源。在 Nacos-server-2.0.4 组件的环境配置中配置如下环境变量,可以切换到其他外部数据源。
名称 | 必要 | 描述 |
---|---|---|
MYSQL_SERVICE_HOST | Y | 数据库地址 |
MYSQL_SERVICE_PORT | Y | 数据库端口 |
MYSQL_SERVICE_USER | Y | 数据库用户名 |
MYSQL_SERVICE_PASSWORD | Y | 数据库密码 |
MYSQL_SERVICE_DB_NAME | Y | 数据库名 |
- 默认生成了 Nacos-server-2.0.4 的数据持久化目录。
- 默认配置了 Nacos-server-2.0.4 的健康检查机制,保障实例故障时自动下线,恢复后自动上线。
OpenVSCode云端IDE加入Rainbond一体化开发体系
info
OpenVSCode 是一款基于Web 界面的在线IDE 代码编辑器,只需要PC端存在浏览器即可使用,更轻量,高效,简洁,其基础功能完全继承了微软出品的 VS Code ,可以通过安装扩展的方式继续加强代码编辑能力。Rainbond 开源应用商店推出的 OpenVSCode 预安装了 gitlab-workflow 扩展用于对接私有化代码仓库 Gitlab,同时预装了常见语言运行环境(目前版本集成了Golang , Node.js , python , java ),可以在 Terminal 终端中快速调试业务代码。
Rainbond 有能力快速搭建一体化开发环境,通过对接代码仓库 webhook 机制,完成业务从代码开始,到最终上线的全流程。通过纳入 OpenVSCode 云端 IDE,可以将 Rainbond 一体化开发体系全部托管于云端,开发人员只需要一个浏览器,即可完成代码从编辑到上线的全流程。