产品目标
星尘,轻量级分布式服务框架。配置中心、集群管理、远程自动发布、服务治理。服务自动注册和发现,负载均衡,动态伸缩,故障转移,性能监控。
星辰大海,万物互联!
星尘,服务平台
大海,数据海,湖,池
万物,XAgent
物联,xLink
星尘代理
StarAgent部署在每台应用服务器,作为系统服务,通过配置拉起并守护业务应用进程,支持Windows/Linux/IoT
功能特点
- 自身注册为系统服务,随系统自动启动,支持指定服务名
- 读取配置文件,拉起目标进程。autostart=true
- 守护目标进程,如有退出,依据策略或退出码决定是否重新拉起。autorestart=true/false/existcodes
- 支持单个应用的启动、停止和重启命令,应用名为all时控制所有应用。start app/stop app/restart app
- 代理退出时,不会关闭应用,代理重新启动后,继续守护应用进程。代理需要更新重启时,不应该影响被守护应用
- 代理运行过程中,根据配置的变化自动启动和停止应用,无需人工干涉。
常用操作:
- staragent test.dll --urls http://*:8080 。等同于dotnet test.dll --urls http://*:8080
- staragent ./test --urls http://*:8080 。等同于 ./test --urls http://*:8080
- staragent install test test.dll --urls http://*:8080。添加应用任务test,拉起test.dll应用并守护
- staragent uninstall test 。删除应用任务test
- staragent update test test.zip 。更新应用任务test,使用test.zip包,支持本地路径和远程http路径
- staragent start [pattern] 。启动一个或多个应用,逗号分隔,支持不区分大小写的*匹配(下同)
- staragent stop [pattern] 。停止一个或多个应用
- staragent restart [pattern] 。重启一个或多个应用
- staragent status [pattern] 。查看一个或多个应用的状态,PID/Memory/Command
- staragent list 。列出所有应用
集群管理
中心化管理多机器上的StarAgent,支持机房内节点以及物联网边缘计算节点
应用管理
为每个应用系统分配接入密钥,用于配置中心、服务注册、服务消费等
配置中心
各应用从配置中心读取自己的配置信息,有利于应用的多实例部署以及集中管理
远程发布
在星尘控制台上发布应用包到多台安装有星尘代理的应用服务器,StarAgent负责拉起并守护进程
注册中心
各微服务应用(服务提供者)向注册中心上报自身服务信息
服务消费
各业务应用(服务消费者)从注册中心拉取指定服务的提供者信息,分布式调用(不经网关)
网状结构
提供者P向星尘S注册自己拥有的10个服务接口,消费者C也登入星尘S,得到访问令牌T,查找到某个接口是P提供,于是得到了P的服务地址,然后C直连P,并使用访问令牌T表明身份
ServiceMesh架构
Sidecar设计模式正在收到越来越多的关注和采用。作为Service Mesh的重要要素,Sidecar模式对于构建高度可伸缩、有弹性、安全且可便于监控的微服务架构系统至关重要。它降低了与微服务架构相关的复杂性,并提供了负载平衡、服务发现、流量管理、电路中断、遥测、故障注入等功能特性。
监控中心
各应用(服务提供者和服务消费者)向中心上报性能指标等监控数据