Nacos学习笔记
1.为什么需要Nacos
Nacos是一个服务注册中心和配置中心。什么是服务注册中心详见:微服务介绍
配置中心的好处在于,如果在代码中直接写死其它服务的地址,如果那个服务挂掉就不方便更改。但是使用Nacos可以动态配置服务地址等配置信息,保证能动态获取到服务的地址等作用。
2.Nacos常见功能
-
注册服务
-
反注册服务(下线服务)
-
服务发现
-
心跳机制
实现原理详见:Nacos服务注册中心原理总结
3.C++ Nacos SDK及教程
见Nacos的官方Github:nacos-sdk-cpp/README_zh_CN.md at master · nacos-group/nacos-sdk-cpp (github.com)
4.项目封装的Nacos接口(NacosClient.h)
注意:Nacos不支持Windows。因此在服务从Windows开发转移到Linux运行时,Nacos会需要特别关注可能出现的问题。
class NacosClient { private: string m_address; string m_namespace;
#ifdef LINUX NamingService* namingSvc; std::string instanceId; #endif public: NacosClient(const string& address, const string& namespaceId); ~NacosClient();
YAML::Node getConfig(const string& dataId, const string& groupName = "DEFAULT_GROUP");
std::string getConfigText(const string& dataId, const string& groupName = "DEFAULT_GROUP");
bool registerInstance(const string& ip, int port, const string& serviceName, const string& groupName = "DEFAULT_GROUP", const string& clusterName = "DEFAULT"); bool deregisterInstance(const string& ip, int port, const string& serviceName, const string& groupName = "DEFAULT_GROUP", const string& clusterName = "DEFAULT"); }; #endif
|