# NewLife.Stardust - 星尘分布å¼å¹³å°
![GitHub top language](https://img.shields.io/github/languages/top/newlifex/stardust?logo=github)
![GitHub License](https://img.shields.io/github/license/newlifex/stardust?logo=github)
![Nuget Downloads](https://img.shields.io/nuget/dt/newlife.stardust?logo=nuget)
![Nuget](https://img.shields.io/nuget/v/newlife.stardust?logo=nuget)
![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/newlife.stardust?label=dev%20nuget&logo=nuget)
![Nuget Downloads](https://img.shields.io/nuget/dt/newlife.stardust.extensions?logo=nuget)
![Nuget](https://img.shields.io/nuget/v/newlife.stardust.extensions?logo=nuget)
![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/newlife.stardust.extensions?label=dev%20nuget&logo=nuget)
## 星尘
应用æœåŠ¡çŠ¹å¦‚宇宙ä¸çš„尘埃,而作为应用æœåŠ¡æ‰¿è½½ä½“的计算机节点是为星星,星星与尘埃构æˆæ•´ä¸ªæµ©ç€šæ˜Ÿç©ºï¼Œå³ä¸ºæ˜Ÿå°˜ï¼
![XCode](/NewLife/Stardust/Blob/master/Doc/星尘分布å¼.png)
Stardust 星尘,轻é‡çº§åˆ†å¸ƒå¼æœåŠ¡æ¡†æž¶ï¼
集群管ç†ã€é…ç½®ä¸å¿ƒã€æ€§èƒ½ç›‘控ã€è¿œç¨‹å‘布ã€æœåŠ¡æ²»ç†ã€‚æœåŠ¡è‡ªåŠ¨æ³¨å†Œå’Œå‘现,负载å‡è¡¡ï¼ŒåŠ¨æ€ä¼¸ç¼©ï¼Œæ•…障转移。
演示系统:[http://star.newlifex.com](http://star.newlifex.com)
## æ ¸å¿ƒåŠŸèƒ½
1. [x] 星尘代ç†ã€‚StarAgent部署在æ¯å°åº”用æœåŠ¡å™¨ï¼Œä½œä¸ºç³»ç»ŸæœåŠ¡è´Ÿè´£å®ˆæŠ¤æœ¬åœ°åº”用åŠç›‘控节点性能,支æŒWindows/Linux/IoT
2. [x] 节点管ç†ã€‚ä¸å¿ƒåŒ–管ç†å¤šæœºå™¨ä¸Šçš„æµ·é‡StarAgent,支æŒæœºæˆ¿å†…æœåŠ¡å™¨èŠ‚点ã€è¿œç«¯æ¡Œé¢å·¥æŽ§æœºä»¥åŠç‰©è”网边缘计算节点
3. [x] 应用管ç†ã€‚为æ¯ä¸ªåº”用系统分é…接入密钥,用于é…ç½®ä¸å¿ƒã€åº”用监控ã€æœåŠ¡æ³¨å†Œã€æœåŠ¡å‘现ç‰
4. [x] é…ç½®ä¸å¿ƒã€‚å„应用从é…ç½®ä¸å¿ƒè¯»å–自己的é…置信æ¯ï¼Œæœ‰åˆ©äºŽåº”用的多实例部署以åŠé›†ä¸ç®¡ç†
5. [x] 监控ä¸å¿ƒã€‚å„应用(æœåŠ¡æ供者和æœåŠ¡æ¶ˆè´¹è€…)å‘ä¸å¿ƒä¸ŠæŠ¥æ€§èƒ½æŒ‡æ ‡ç‰ç›‘控数æ®
6. [x] 注册ä¸å¿ƒã€‚å„å¾®æœåŠ¡åº”用(æœåŠ¡æ供者)å‘注册ä¸å¿ƒä¸ŠæŠ¥è‡ªèº«æœåŠ¡ä¿¡æ¯
7. [x] æœåŠ¡å‘现。å„业务应用(æœåŠ¡æ¶ˆè´¹è€…)从注册ä¸å¿ƒæ‹‰å–指定æœåŠ¡çš„æ供者信æ¯ï¼Œåˆ†å¸ƒå¼è°ƒç”¨ï¼ˆä¸ç»ç½‘关)
8. [x] 远程å‘布。在星尘控制å°ä¸Šå‘布应用包到多å°å®‰è£…有星尘代ç†çš„应用æœåŠ¡å™¨æˆ–物è”网边缘节点,StarAgent负责拉起并守护进程
9. [x] 日志ä¸å¿ƒã€‚å„应用(æœåŠ¡æ供者和æœåŠ¡æ¶ˆè´¹è€…)å‘ä¸å¿ƒä¸ŠæŠ¥æ—¥å¿—æ•°æ®ï¼Œç»Ÿä¸€åœ¨æ˜Ÿå°˜Web查看
### 监控ä¸å¿ƒ
æ˜Ÿå°˜ç›‘æŽ§ä»‹ç» [https://newlifex.com/blood/stardust_monitor](https://newlifex.com/blood/stardust_monitor)
应用监控
![XCode](/NewLife/Stardust/Blob/master/Doc/应用监控.png)
物è”网平å°è¿œç¨‹æŽ§åˆ¶èŠ±å›æ°´æ³µçš„调用链 [ä¼ é€é—¨](http://star.newlifex.com/trace?id=ac15452e1649035594650011be21ec)
![XCode](/NewLife/Stardust/Blob/master/Doc/调用链.png)
关系图
![XCode](/NewLife/Stardust/Blob/master/Doc/关系图.png)
### 设计概è¦
æ供者På‘星尘S注册自己拥有的10个æœåŠ¡æŽ¥å£ï¼Œæ¶ˆè´¹è€…C也登入星尘S,得到访问令牌T,查找到æŸä¸ªæŽ¥å£åˆšå¥½æ˜¯Pæ供,于是得到了Pçš„æœåŠ¡åœ°å€ï¼Œç„¶åŽCç›´è¿žP,并使用访问令牌T表明身份
```sequence{theme="simple"}
æ供者->星尘: Key登录
note over 星尘: key/secret
æ供者-->>星尘: 注册æœåŠ¡
消费者->星尘: Key登录
星尘-->消费者: 访问令牌Token
note left of 消费者: å‘æ供者验明身份
消费者->星尘: 查询æœåŠ¡
星尘-->消费者: æœåŠ¡æ‰€åœ¨æ供者列表
消费者->æ供者: Token令牌登录
æ供者-->消费者: 登录æˆåŠŸ
æ供者-->>星尘: 汇报状æ€
消费者->æ供者: 请求æœåŠ¡
æ供者-->消费者: å“应数æ®
```
### ServiceMesh架构
Sidecar设计模å¼æ£åœ¨æ”¶åˆ°è¶Šæ¥è¶Šå¤šçš„关注和采用。作为Service Meshçš„é‡è¦è¦ç´ ,Sidecar模å¼å¯¹äºŽæž„建高度高度å¯ä¼¸ç¼©ã€æœ‰å¼¹æ€§ã€å®‰å…¨ä¸”å¯ä¾¿äºŽç›‘控的微æœåŠ¡æž¶æž„系统至关é‡è¦ã€‚它é™ä½Žäº†ä¸Žå¾®æœåŠ¡æž¶æž„相关的å¤æ‚性,并æ供了负载平衡ã€æœåŠ¡å‘现ã€æµé‡ç®¡ç†ã€ç”µè·¯ä¸æ–ã€é¥æµ‹ã€æ•…障注入ç‰åŠŸèƒ½ç‰¹æ€§ã€‚
```sequence{theme="simple"}
消费者->本机代ç†: åˆå§‹åŒ–
本机代ç†->星尘: Key登录
星尘-->本机代ç†: 访问令牌Token
本机代ç†->星尘: 查询æœåŠ¡
星尘-->本机代ç†: æœåŠ¡æ‰€åœ¨æ供者列表
本机代ç†->æ供者: Token令牌登录
æ供者-->本机代ç†: 登录æˆåŠŸ
本机代ç†-->>星尘: 汇报状æ€
消费者->本机代ç†: 请求æœåŠ¡
本机代ç†->æ供者: 请求æœåŠ¡
æ供者-->本机代ç†: å“应数æ®
本机代ç†-->消费者: å“应数æ®
```
## 新生命项目矩阵
å„项目默认支æŒnet9.0/netstandard2.1/netstandard2.0/net4.62/net4.5,旧版(2024.0801)支æŒnet4.0/net2.0
| 项目 | 年份 | 说明 |
| :--------------------------------------------------------------: | :---: | -------------------------------------------------------------------------------------- |
| 基础组件 | | 支撑其它ä¸é—´ä»¶ä»¥åŠäº§å“项目 |
| [NewLife.Core](https://github.com/NewLifeX/X) | 2002 | æ ¸å¿ƒåº“ï¼Œæ—¥å¿—ã€é…ç½®ã€ç¼“å˜ã€ç½‘络ã€åºåˆ—化ã€APM性能追踪 |
| [NewLife.XCode](https://github.com/NewLifeX/NewLife.XCode) | 2005 | 大数æ®ä¸é—´ä»¶ï¼Œå•è¡¨ç™¾äº¿çº§ï¼ŒMySql/SQLite/SqlServer/Oracle/PostgreSql/达梦,自动分表 |
| [NewLife.Net](https://github.com/NewLifeX/NewLife.Net) | 2005 | 网络库,å•æœºåƒä¸‡çº§åžå率(2266万tps),å•æœºç™¾ä¸‡çº§è¿žæŽ¥ï¼ˆ400万Tcp) |
| [NewLife.Remoting](https://github.com/NewLifeX/NewLife.Remoting) | 2011 | RPC通信框架,内网高åžå,物è”网设备低开销易接入 |
| [NewLife.Cube](https://github.com/NewLifeX/NewLife.Cube) | 2010 | é”方快速开å‘å¹³å°ï¼Œé›†æˆäº†ç”¨æˆ·æƒé™ã€SSO登录ã€OAuthæœåŠ¡ç«¯ç‰ï¼Œå•è¡¨100äº¿çº§é¡¹ç›®éªŒè¯ |
| [NewLife.Agent](https://github.com/NewLifeX/NewLife.Agent) | 2008 | æœåŠ¡ç®¡ç†ç»„件,把应用安装æˆä¸ºæ“作系统守护进程,WindowsæœåŠ¡ã€Linuxçš„Systemd |
| [NewLife.Zero](https://github.com/NewLifeX/NewLife.Zero) | 2020 | Zero零代脚手架,基于NewLife组件生æ€çš„项目模æ¿NewLife.Templates,Webã€WebApiã€Service |
| ä¸é—´ä»¶ | | 对接知åä¸é—´ä»¶å¹³å° |
| [NewLife.Redis](https://github.com/NewLifeX/NewLife.Redis) | 2017 | Redis客户端,微秒级延迟,百万级åžå,丰富的消æ¯é˜Ÿåˆ—,百亿级数æ®é‡é¡¹ç›®éªŒè¯ |
| [NewLife.RocketMQ](https://github.com/NewLifeX/NewLife.RocketMQ) | 2018 | RocketMQ纯托管客户端,支æŒApache RocketMQ和阿里云消æ¯é˜Ÿåˆ—,å亿级项目验 |
| [NewLife.MQTT](https://github.com/NewLifeX/NewLife.MQTT) | 2019 | 物è”网消æ¯å议,MqttClient/MqttServer,客户端支æŒé˜¿é‡Œäº‘物è”网 |
| [NewLife.IoT](https://github.com/NewLifeX/NewLife.IoT) | 2022 | IoTæ ‡å‡†åº“ï¼Œå®šä¹‰ç‰©è”网领域的å„ç§é€šä¿¡åè®®æ ‡å‡†è§„èŒƒ |
| [NewLife.Modbus](https://github.com/NewLifeX/NewLife.Modbus) | 2022 | ModbusTcp/ModbusRTU/ModbusASCII,基于IoTæ ‡å‡†åº“å®žçŽ°ï¼Œæ”¯æŒIoTå¹³å°å’ŒIoTEdge |
| [NewLife.Siemens](https://github.com/NewLifeX/NewLife.Siemens) | 2022 | 西门åPLCå议,基于IoTæ ‡å‡†åº“å®žçŽ°ï¼Œæ”¯æŒIoTå¹³å°å’ŒIoTEdge |
| [NewLife.Map](https://github.com/NewLifeX/NewLife.Map) | 2022 | 地图组件库,å°è£…百度地图ã€é«˜å¾·åœ°å›¾ã€è…¾è®¯åœ°å›¾ã€å¤©åœ°å›¾ |
| [NewLife.Audio](https://github.com/NewLifeX/NewLife.Audio) | 2023 | 音频编解ç 库,PCM/ADPCMA/G711A/G722U/WAV/AAC |
| 产å“å¹³å° | | 产å“å¹³å°çº§ï¼Œç¼–译部署å³ç”¨ï¼Œä¸ªæ€§åŒ–自定义 |
| [Stardust](https://github.com/NewLifeX/Stardust) | 2018 | 星尘,分布å¼æœåŠ¡å¹³å°ï¼ŒèŠ‚点管ç†ã€APM监控ä¸å¿ƒã€é…ç½®ä¸å¿ƒã€æ³¨å†Œä¸å¿ƒã€å‘布ä¸å¿ƒ |
| [AntJob](https://github.com/NewLifeX/AntJob) | 2019 | èš‚èšè°ƒåº¦ï¼Œåˆ†å¸ƒå¼å¤§æ•°æ®è®¡ç®—å¹³å°ï¼ˆå®žæ—¶/离线),蚂èšæ¬å®¶åˆ†ç‰‡æ€æƒ³ï¼Œä¸‡äº¿çº§æ•°æ®é‡é¡¹ç›®éªŒè¯ |
| [NewLife.ERP](https://github.com/NewLifeX/NewLife.ERP) | 2021 | ä¼ä¸šERP,产å“管ç†ã€å®¢æˆ·ç®¡ç†ã€é”€å”®ç®¡ç†ã€ä¾›åº”å•†ç®¡ç† |
| [CrazyCoder](https://github.com/NewLifeX/XCoder) | 2006 | ç 神工具,众多开å‘者工具,网络ã€ä¸²å£ã€åŠ 解密ã€æ£åˆ™è¡¨è¾¾å¼ã€Modbus |
| [EasyIO](https://github.com/NewLifeX/EasyIO) | 2023 | 简易文件å˜å‚¨ï¼Œæ”¯æŒåˆ†å¸ƒå¼ç³»ç»Ÿä¸æ–‡ä»¶é›†ä¸å˜å‚¨ã€‚ |
| [XProxy](https://github.com/NewLifeX/XProxy) | 2005 | 产å“级åå‘代ç†ï¼ŒNAT代ç†ã€Httpä»£ç† |
| [HttpMeter](https://github.com/NewLifeX/HttpMeter) | 2022 | Http压力测试工具 |
| [GitCandy](https://github.com/NewLifeX/GitCandy) | 2015 | Gitæºä»£ç 管ç†ç³»ç»Ÿ |
| [SmartOS](https://github.com/NewLifeX/SmartOS) | 2014 | 嵌入å¼æ“作系统,完全独立自主,支æŒARM Cortex-M芯片架构 |
| [SmartA2](https://github.com/NewLifeX/SmartA2) | 2019 | 嵌入å¼å·¥ä¸šè®¡ç®—机,物è”网边缘网关,高性能.NET6主机,应用于工业ã€å†œä¸šã€äº¤é€šã€åŒ»ç–— |
| FIoT物è”ç½‘å¹³å° | 2020 | 物è”网整体解决方案,建ç‘ã€çŽ¯ä¿ã€å†œä¸šï¼Œè½¯ç¡¬ä»¶åŠå¤§æ•°æ®åˆ†æžä¸€ä½“化,å•æœºå万级点ä½é¡¹ç›®éªŒè¯ |
| UWBé«˜ç²¾åº¦å®¤å†…å®šä½ | 2020 | 厘米级(10~20cm)高精度室内定ä½ï¼Œè½¯ç¡¬ä»¶ä¸€ä½“化,与其它系统è”åŠ¨ï¼Œå¤§åž‹å±•åŽ…é¡¹ç›®éªŒè¯ |
## 新生命开å‘团队
![XCode](https://newlifex.com/logo.png)
新生命团队(NewLife)æˆç«‹äºŽ2002年,是新时代物è”网行业解决方案æ供者,致力于æ供软硬件应用方案咨询ã€ç³»ç»Ÿæž¶æž„规划与开å‘æœåŠ¡ã€‚
团队主导的80多个开æºé¡¹ç›®å·²è¢«å¹¿æ³›åº”用于å„行业,Nuget累计下载é‡é«˜è¾¾300余万次。
团队开å‘的大数æ®ä¸é—´ä»¶NewLife.XCodeã€èš‚èšè°ƒåº¦è®¡ç®—å¹³å°AntJobã€æ˜Ÿå°˜åˆ†å¸ƒå¼å¹³å°Stardustã€ç¼“å˜é˜Ÿåˆ—组件NewLife.Redis以åŠç‰©è”网平å°FIoT,å‡æˆåŠŸåº”用于电力ã€é«˜æ ¡ã€äº’è”网ã€ç”µä¿¡ã€äº¤é€šã€ç‰©æµã€å·¥æŽ§ã€åŒ»ç–—ã€æ–‡åšç‰è¡Œä¸šï¼Œä¸ºå®¢æˆ·æ供了大é‡å…ˆè¿›ã€å¯é ã€å®‰å…¨ã€é«˜è´¨é‡ã€æ˜“扩展的产å“和系统集æˆæœåŠ¡ã€‚
我们将ä¸æ–通过æœåŠ¡çš„æŒç»æ”¹è¿›ï¼Œæˆä¸ºå®¢æˆ·é•¿æœŸä¿¡èµ–çš„åˆä½œä¼™ä¼´ï¼Œé€šè¿‡ä¸æ–的创新和å‘展,æˆä¸ºå›½å†…优秀的IoTæœåŠ¡ä¾›åº”商。
`新生命团队始于2002年,部分开æºé¡¹ç›®å…·æœ‰20年以上漫长历å²ï¼Œæºç 库ä¿ç•™æœ‰2010年以æ¥æ‰€æœ‰ä¿®æ”¹è®°å½•`
网站:https://newlifex.com
å¼€æºï¼šhttps://github.com/newlifex
QQ群:1600800/1600838
微信公众å·ï¼š
![智能大石头](https://newlifex.com/stone.jpg)
|