# YanXi **Repository Path**: wxtech/yanxi ## Basic Information - **Project Name**: YanXi - **Description**: 一款类似于Nacos的中间件,(两大功能:配置管理、服务注册) - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 5 - **Created**: 2024-05-27 - **Last Updated**: 2024-05-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # YanXi项目 ## 手把手搭建步骤 [不妨大胆一点 自己做一个Nacos(用JAVA实现)] https://juejin.cn/post/7298220509128261659 ## 诞生 是因为我当年有次处理线上的生产事故,Nacos一直启动不起来,生产项目停了一早上,造成了一些损失。 其实主要就是我们内网地址的变更影响了Nacos的连接。虽然是一件很小的事情,但是这次之后我就疯狂的研究了一下Nacos。 这看着看着就想着能不能自己弄一个很简易版本的Nacos。 因为我们的项目很轻量级,而且我们用到的功能也非常少, 完全用不着去用Nacos。我们公司比较小,这个想法也很快的就给领导说了, 公司是一家自由度很高的公司,领导非常鼓励我去自主研发一些自己的东西。 所以这便有了YanXi。 ## 概述 这是一个类似于Nacos的中间件项目。 可以实现的功能有 - 服务启动时候进行注册。 - 对服务的实时的健康检查。 - 服务启动时拉取远程配置文件。 - 远程数据库管理配置文件。 - 数据库修改配置文件,热部署。 ## 应用 ```java // 1、 克隆项目 git clone https://gitee.com/paper_cup_cake/yanxi // 2、创建 yx-regiserve 数据库 // 3、执行脚本 regiserver_config.sql // 4、mvn 编译 因为 proto 文件得反编译回java文件 mvn compile // 5、启动 先启动 regiserve 项目 ``` 项目启动后,更改数据库配置,然后调用 `restful - get` 接口 `/refresh/config`实现热部署。 因为 YanXi 项目只是提供一种自由度很高的配置远程配置文件,和健康检测的思路。 具体项目如何应用还得自己结合自己的项目去搭配使用。 比如说:因为 YanXi 没有负载均衡,所以是不是可以考虑给项目配置网关,然后配置给 YanXi 项目的地址就是 DNS 负载均衡的地址。 ## 版本 - JDK 1.8 - maven 3.6.1 - SpringBoot 2.5.8 - gPRC 2.10.1.RELEASE ## 部署 因为这个就是一个SpringBoot项目,所以部署方式和SpringBoot一摸一样。 ```java mvn pakage java -jar yanxi-regiserve.jar ``` ## 结语 真的,这个项目只是一种思路,你可以按照我的方法来,你可以可以自己自定义去配置你的项目。 本人真的是萌新一个,各位不吝啬的话给个Star。 如果我的项目能在您工作和学习帮助到您哪怕是一点点,那就是我的初意。 谢谢各位~