云原生集成开发环境——TitanIDE
通过网页在任何地方更安全、更高效地编码2022-04-26
791
系统应用架构的微服务化转型是企业应用改造的巨大挑战,随着云原生化的进程加快,传统大型业务应用系统也走上了改造微服务化之路。虽然K8s已经实现了非常多的功能以及自动化,也提高了系统架构整体的服务承载量,但当系统应用微服务化之后,随之而来也面临新的问题。比如:碎片化服务的管理、服务的治理等运维侧的问题。当我们深入研究服务之间的关系和治理的过程中,发现其中的问题还远不止这些。以Istio等为代表的高级服务网格技术,已经成为微服务目前面临诸多问题的最佳解决手段。
Istio是开源软件,在传统应用开发人员向微服务开发人员的转变过程中,新技术的引用无疑增加了学习的门槛和成本。
最近在研究服务网格产品,发现一款刚公开发布的服务网格产品-SolarMesh。目前开放下载,可以体验。花了2天时间在自己机器上安装体验了一下。比预想中要好用的多。
命令行方式的安装,很方便。要注意的是SolarMesh是基于Istio的开源发行版本之上二开的。所以如果集群内需要先卸载到原有的Istio。
安装完成之后,可视化的流量控制面板,非常好用。
从整体的流量试图中可以看到本地微服务(一个Demo微服务,来自GitHub)的架构组成。每个服务节点都可以点开SolarMesh的控制面板,包括:总览、路由规则、流量策略、流量安全、网关、服务质量、流量插件。
在总览中,我们可以看到每个服务节点对应的详细信息以及资源使用情况。
流量策略可以针对服务节点接受的流量进行重写、流量镜像,也可以设置入栈流量的超市机制、重试机制以及特定场景模拟下的延时访问和故障注入。
路由规则可以快速方便的设置该节点的入栈流量的路由策略。
流量安全可以通过设定节点的端口严格模式来保障服务端口的使用管理。
最让我惊喜的是,SolarMesh还实现了现在非常前沿的技术 – WebAssembly。流量插件支持将C/C++/Go/Rust等语言实现的代码编译为浏览器可执行的机器码,从而支持浏览器以接近原生应用的性能运行相关应用。这极大地丰富了我们在业务设计实现的想象力。