当前位置: 首页 > news >正文

移动互联网站开发与维护招聘app模板大全

移动互联网站开发与维护招聘,app模板大全,深圳推广公司网站建设书模板,湖南住房与城乡建设部网站文章目录 一、概述1、内置SDK2、服务配置管理工具#xff1a;ConfigService3、服务注册与发现管理工具#xff1a;NamingService 二、服务配置管理1、获取配置#xff08;1#xff09;描述#xff08;2#xff09;参数#xff08;3#xff09;请求示例 2、监听配置ConfigService3、服务注册与发现管理工具NamingService 二、服务配置管理1、获取配置1描述2参数3请求示例 2、监听配置1描述2参数3请求示例 3、删除监听1描述2参数3使用示例 4、发布配置1描述2参数3请求示例 5、删除配置1描述2参数3请求示例 三、服务发现SDK1、注册实例1描述2参数3请求示例 2、注销实例1描述2参数3请求示例 3、获取全部实例1描述2参数3请求示例 4、获取健康或不健康实例列表1描述2参数3请求示例 5、获取一个健康实例1描述2参数3请求示例 6、监听服务1描述2参数3请求示例 7、取消监听服务1描述2参数3请求示例 一、概述 1、内置SDK Nacos提供了一些客户端内置的SDK以供我们直接对nacos中部分数据的操作。 服务配置管理包括 获取配置监听配置动态变化删除监听发布配置删除配置 服务注册与发现管理包括 注册实例注销实例获取全部实例获取健康或不健康实例列表获取一个健康实例监听服务。 要想使用这些内置SDK需要引入nacos-client包 dependencygroupIdcom.alibaba.nacos/groupIdartifactIdnacos-client/artifactIdversion${version}/version /dependency1.X 版本最新java SDK为 1.4.4版本 2、服务配置管理工具ConfigService Springboot中如果使用了nacos会进行自动配置并在Spring容器中注入一个NacosConfigManager通过自动注入的方式可以注入NacosConfigManager这个就是nacos服务配置的管理器。其中的getConfigService方法可以获取到ConfigService该接口就是处理服务配置的SDK。 private NacosConfigManager nacosConfigManager; // Springboot中获取到ConfigService ConfigService configService nacosConfigManager.getConfigService();而如果单纯使用JavaSDK的话获取ConfigService 实例需要手动处理nacos的地址等信息NacosConfigManager中也是这么做的 // 手动获取ConfigService String serverAddr {serverAddr}; Properties properties new Properties(); properties.put(serverAddr, serverAddr); ConfigService configService NacosFactory.createConfigService(properties);ConfigService接口包含了大量的用于处理服务配置的方法其实现类就是NacosConfigService public interface ConfigService {// 获取配置String getConfig(String dataId, String group, long timeoutMs) throws NacosException;// 获取配置并注册侦听器// 如果想在程序第一次开始获取配置时自己拉取并且注册的 Listener 用于以后的配置更新可以保持原始代码不变只需添加系统参数enableRemoteSyncConfig “true” 但有网络开销;因此我们建议您直接使用此接口String getConfigAndSignListener(String dataId, String group, long timeoutMs, Listener listener)throws NacosException;// 在配置中添加监听器服务器修改配置后客户端将使用传入监听器回调。推荐异步处理应用程序可以在 ManagerListener 中实现 getExecutor 方法提供线程池的执行。如果提供请使用主线程回调可能会阻止其他配置或被其他配置阻止。void addListener(String dataId, String group, Listener listener) throws NacosException;// 发布配置boolean publishConfig(String dataId, String group, String content) throws NacosException;// 发布配置可以选择发布的格式properties、xml、json、text、html、yaml、unsetboolean publishConfig(String dataId, String group, String content, String type) throws NacosException;// 删除配置boolean removeConfig(String dataId, String group) throws NacosException;// 删除监听void removeListener(String dataId, String group, Listener listener);// 获取服务状态String getServerStatus();// 关闭资源服务void shutDown() throws NacosException; }3、服务注册与发现管理工具NamingService 同配置管理一样服务注册与发现也提供了一个工具接口NamingService在Springboot中会自动配置一个NacosServiceManager可以通过自动注入获取。 NacosServiceManager中有几个用于处理服务注册与发现的方法 getNamingService、getNamingMaintainService、isNacosDiscoveryInfoChanged、buildNamingMaintainService、buildNamingService、createNewNamingService、createNamingMaintainService、nacosServiceShutDown。 NamingService中包含了大量的方法用于处理服务注册与发现 public interface NamingService {// 将实例注册到服务。void registerInstance(String serviceName, String ip, int port) throws NacosException;// 将实例注册到服务void registerInstance(String serviceName, String groupName, String ip, int port) throws NacosException;// 使用指定的集群名称将实例注册到服务void registerInstance(String serviceName, String ip, int port, String clusterName) throws NacosException;// 使用指定的集群名称将实例注册到服务void registerInstance(String serviceName, String groupName, String ip, int port, String clusterName)throws NacosException;// 使用指定的实例属性将实例注册到服务void registerInstance(String serviceName, Instance instance) throws NacosException;// 使用指定的实例属性将实例注册到服务。void registerInstance(String serviceName, String groupName, Instance instance) throws NacosException;// 从服务中取消注册实例void deregisterInstance(String serviceName, String ip, int port) throws NacosException;// 从服务中取消注册实例void deregisterInstance(String serviceName, String groupName, String ip, int port) throws NacosException;// 从服务中取消注册具有指定集群名称的实例。void deregisterInstance(String serviceName, String ip, int port, String clusterName) throws NacosException;// 从服务中取消注册具有指定集群名称的实例void deregisterInstance(String serviceName, String groupName, String ip, int port, String clusterName)throws NacosException;// 使用完整的实例信息和默认组名取消注册实例。void deregisterInstance(String serviceName, Instance instance) throws NacosException;// 使用完整的实例信息取消注册实例。void deregisterInstance(String serviceName, String groupName, Instance instance) throws NacosException;// 获取服务的所有实例。ListInstance getAllInstances(String serviceName) throws NacosException;// 获取服务的所有实例。ListInstance getAllInstances(String serviceName, String groupName) throws NacosException;// 获取服务的所有实例。ListInstance getAllInstances(String serviceName, boolean subscribe) throws NacosException;// 获取服务的所有实例ListInstance getAllInstances(String serviceName, String groupName, boolean subscribe) throws NacosException;// 获取服务的指定集群内的所有实例。ListInstance getAllInstances(String serviceName, ListString clusters) throws NacosException;// 获取服务的指定集群内的所有实例。ListInstance getAllInstances(String serviceName, String groupName, ListString clusters) throws NacosException;// 获取服务的指定集群内的所有实例。ListInstance getAllInstances(String serviceName, ListString clusters, boolean subscribe) throws NacosException;// 获取服务的指定集群内的所有实例ListInstance getAllInstances(String serviceName, String groupName, ListString clusters, boolean subscribe)throws NacosException;// 获取合格的服务实例。ListInstance selectInstances(String serviceName, boolean healthy) throws NacosException;// 获取合格的服务实例。ListInstance selectInstances(String serviceName, String groupName, boolean healthy) throws NacosException;// 获取合格的服务实例。ListInstance selectInstances(String serviceName, boolean healthy, boolean subscribe) throws NacosException;// 获取合格的服务实例。ListInstance selectInstances(String serviceName, String groupName, boolean healthy, boolean subscribe)throws NacosException;// 获取指定服务集群中的合格实例。ListInstance selectInstances(String serviceName, ListString clusters, boolean healthy) throws NacosException;// 获取指定服务集群中的合格实例。ListInstance selectInstances(String serviceName, String groupName, ListString clusters, boolean healthy)throws NacosException;// 获取指定服务集群中的合格实例。ListInstance selectInstances(String serviceName, ListString clusters, boolean healthy, boolean subscribe)throws NacosException;// 获取指定服务集群中的合格实例。ListInstance selectInstances(String serviceName, String groupName, ListString clusters, boolean healthy,boolean subscribe) throws NacosException;// 使用预定义的负载平衡策略选择一个正常运行的服务实例。Instance selectOneHealthyInstance(String serviceName) throws NacosException;// 使用预定义的负载平衡策略选择一个正常运行的服务实例。Instance selectOneHealthyInstance(String serviceName, String groupName) throws NacosException;// 使用预定义的负载平衡策略选择一个正常运行的服务实例。Instance selectOneHealthyInstance(String serviceName, boolean subscribe) throws NacosException;// 使用预定义的负载平衡策略选择一个正常运行的服务实例。Instance selectOneHealthyInstance(String serviceName, String groupName, boolean subscribe) throws NacosException;// 使用预定义的负载平衡策略选择一个正常运行的服务实例。Instance selectOneHealthyInstance(String serviceName, ListString clusters) throws NacosException;// 使用预定义的负载平衡策略选择一个正常运行的服务实例。Instance selectOneHealthyInstance(String serviceName, String groupName, ListString clusters)throws NacosException;// 使用预定义的负载平衡策略选择一个正常运行的服务实例。Instance selectOneHealthyInstance(String serviceName, ListString clusters, boolean subscribe)throws NacosException;// 使用预定义的负载平衡策略选择一个正常运行的服务实例。Instance selectOneHealthyInstance(String serviceName, String groupName, ListString clusters, boolean subscribe)throws NacosException;// 订阅服务以接收实例变更事件void subscribe(String serviceName, EventListener listener) throws NacosException;// 订阅服务以接收实例变更事件void subscribe(String serviceName, String groupName, EventListener listener) throws NacosException;// 订阅服务以接收实例变更事件void subscribe(String serviceName, ListString clusters, EventListener listener) throws NacosException;// 订阅服务以接收实例变更事件void subscribe(String serviceName, String groupName, ListString clusters, EventListener listener)throws NacosException;// 取消订阅服务的事件侦听器。void unsubscribe(String serviceName, EventListener listener) throws NacosException;// 取消订阅服务的事件侦听器。void unsubscribe(String serviceName, String groupName, EventListener listener) throws NacosException;// 取消订阅服务的事件侦听器。void unsubscribe(String serviceName, ListString clusters, EventListener listener) throws NacosException;// 取消订阅服务的事件侦听器。void unsubscribe(String serviceName, String groupName, ListString clusters, EventListener listener)throws NacosException;// 从服务器获取所有服务名称ListViewString getServicesOfServer(int pageNo, int pageSize) throws NacosException;// 从服务器获取所有服务名称ListViewString getServicesOfServer(int pageNo, int pageSize, String groupName) throws NacosException;// 使用选择器从服务器获取所有服务名称ListViewString getServicesOfServer(int pageNo, int pageSize, AbstractSelector selector) throws NacosException;// 使用选择器从服务器获取所有服务名称ListViewString getServicesOfServer(int pageNo, int pageSize, String groupName, AbstractSelector selector)throws NacosException;// 获取当前客户端的所有订阅服务。ListServiceInfo getSubscribeServices() throws NacosException;// 获取服务器运行状况String getServerStatus();// 关闭资源服务void shutDown() throws NacosException; }二、服务配置管理 1、获取配置 1描述 用于服务启动的时候从 Nacos 获取配置。 public String getConfig(String dataId, String group, long timeoutMs) throws NacosException2参数 请求 参数名参数类型描述dataIdstring配置 ID采用类似 package.class如com.taobao.tc.refund.log.level的命名规则保证全局唯一性class 部分建议是配置的业务含义。全部字符小写。只允许英文字符和 4 种特殊字符“.”、“:”、“-”、“_”不超过 256 字节。groupstring配置分组建议填写产品名:模块名Nacos:Test保证唯一性只允许英文字符和4种特殊字符“.”、“:”、“-”、“_”不超过128字节。timeoutlong读取配置超时时间单位 ms推荐值 3000。 返回值 参数类型描述string配置值 3请求示例 try {String serverAddr {serverAddr};String dataId {dataId};String group {group};Properties properties new Properties();properties.put(serverAddr, serverAddr);ConfigService configService NacosFactory.createConfigService(properties);String content configService.getConfig(dataId, group, 5000);System.out.println(content); } catch (NacosException e) {// 读取配置超时或网络异常抛出 NacosException 异常。e.printStackTrace(); }2、监听配置 1描述 如果希望 Nacos 推送配置变更可以使用 Nacos 动态监听配置接口来实现。 public void addListener(String dataId, String group, Listener listener) 2参数 请求参数 参数名参数类型描述dataIdstring配置 ID采用类似 package.class如com.taobao.tc.refund.log.level的命名规则保证全局唯一性class 部分建议是配置的业务含义。 全部字符小写。只允许英文字符和 4 种特殊字符“.”、“:”、“-”、“_”。不超过 256 字节。groupstring配置分组建议填写产品名模块名如 Nacos:Test保证唯一性。 只允许英文字符和4种特殊字符“.”、“:”、“-”、“_”不超过128字节。listenerListener监听器配置变更进入监听器的回调函数。 返回值 参数类型描述string配置值初始化或者配置变更的时候通过回调函数返回该值。 3请求示例 String serverAddr {serverAddr}; String dataId {dataId}; String group {group}; Properties properties new Properties(); properties.put(serverAddr, serverAddr); ConfigService configService NacosFactory.createConfigService(properties); String content configService.getConfig(dataId, group, 5000); System.out.println(content); configService.addListener(dataId, group, new Listener() { // 添加监听Overridepublic void receiveConfigInfo(String configInfo) {System.out.println(recieve1: configInfo);}Overridepublic Executor getExecutor() {return null;} });// 测试让主线程不退出因为订阅配置是守护线程主线程退出守护线程就会退出。 正式代码中无需下面代码 while (true) {try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();} }3、删除监听 1描述 取消监听配置取消监听后配置不会再推送。 public void removeListener(String dataId, String group, Listener listener)2参数 请求参数 参数名参数类型描述dataIdstring配置 ID采用类似 package.class如com.taobao.tc.refund.log.level的命名规则保证全局唯一性class 部分建议是配置的业务含义。全部字符小写。只允许英文字符和 4 种特殊字符“.”、“:”、“-”、“_”不超过 256 字节。groupstring配置分组listenerConfigChangeListenerAdapter监听器配置变更进入监听器的回调函数。 3使用示例 String serverAddr {serverAddr}; String dataId {dataId}; String group {group}; Properties properties new Properties(); properties.put(serverAddr, serverAddr); ConfigService configService NacosFactory.createConfigService(properties); configService.removeListener(dataId, group, yourListener);4、发布配置 1描述 用于通过程序自动发布 Nacos 配置以便通过自动化手段降低运维成本。 注意创建和修改配置时使用的同一个发布接口当配置不存在时会创建配置当配置已存在时会更新配置。 public boolean publishConfig(String dataId, String group, String content) throws NacosException;Since 1.4.1 public boolean publishConfig(String dataId, String group, String content, String type) throws NacosException;2参数 请求参数 参数名参数类型描述dataIdstring配置 ID采用类似 package.class如 com.taobao.tc.refund.log.level的命名规则保证全局唯一性。建议根据配置的业务含义来定义 class 部分。全部字符均为小写。只允许英文字符和 4 种特殊字符“.”、“:”、“-”、“_”不超过 256 字节。groupstring配置分组建议填写产品名:模块名如 Nacos:Test来保证唯一性。只允许英文字符和 4 种特殊字符“.”、“:”、“-”、“_”不超过 128 字节。contentstring配置内容不超过 100K 字节。typestringSince 1.4.1. 配置类型见 com.alibaba.nacos.api.config.ConfigType默认为TEXTproperties、xml、json、text、html、yaml、unset 返回参数 参数类型描述boolean是否发布成功 3请求示例 try {// 初始化配置服务控制台通过示例代码自动获取下面参数String serverAddr {serverAddr};String dataId {dataId};String group {group};Properties properties new Properties();properties.put(serverAddr, serverAddr);ConfigService configService NacosFactory.createConfigService(properties);boolean isPublishOk configService.publishConfig(dataId, group, content);System.out.println(isPublishOk); } catch (NacosException e) {// 读取配置超时或网络异常抛出 NacosException 异常。e.printStackTrace(); }5、删除配置 1描述 用于通过程序自动删除 Nacos 配置以便通过自动化手段降低运维成本。 注意 当配置已存在时会删除该配置当配置不存在时会直接返回成功消息。 public boolean removeConfig(String dataId, String group) throws NacosException2参数 请求参数 参数名参数类型描述dataIdstring配置 IDgroupstring配置分组 返回参数 参数类型描述boolean是否删除成功 3请求示例 try {// 初始化配置服务控制台通过示例代码自动获取下面参数String serverAddr {serverAddr};String dataId {dataId};String group {group};Properties properties new Properties();properties.put(serverAddr, serverAddr);ConfigService configService NacosFactory.createConfigService(properties);boolean isRemoveOk configService.removeConfig(dataId, group);System.out.println(isRemoveOk); } catch (NacosException e) {// 读取配置超时或网络异常抛出 NacosException 异常。e.printStackTrace(); }三、服务发现SDK 1、注册实例 1描述 注册一个实例到服务。 void registerInstance(String serviceName, String ip, int port) throws NacosException;void registerInstance(String serviceName, String ip, int port, String clusterName) throws NacosException;void registerInstance(String serviceName, Instance instance) throws NacosException;一般情况下服务注册通常自动注册很少有需要我们手动去触发注册的。 2参数 请求参数 名称类型描述serviceName字符串服务名ip字符串服务实例IPportint服务实例portclusterName字符串集群名instance参见代码注释实例属性 3请求示例 NamingService naming NamingFactory.createNamingService(System.getProperty(serveAddr)); naming.registerInstance(nacos.test.3, 11.11.11.11, 8888, TEST1);Instance instance new Instance(); instance.setIp(55.55.55.55); instance.setPort(9999); instance.setHealthy(false); instance.setWeight(2.0); MapString, String instanceMeta new HashMap(); instanceMeta.put(site, et2); instance.setMetadata(instanceMeta);Service service new Service(nacos.test.4); service.setApp(nacos-naming); service.sethealthCheckMode(server); service.setEnableHealthCheck(true); service.setProtectThreshold(0.8F); service.setGroup(CNCF); MapString, String serviceMeta new HashMap(); serviceMeta.put(symmetricCall, true); service.setMetadata(serviceMeta); instance.setService(service);Cluster cluster new Cluster(); cluster.setName(TEST5); AbstractHealthChecker.Http healthChecker new AbstractHealthChecker.Http(); healthChecker.setExpectedResponseCode(400); healthChecker.setCurlHost(USer-Agent|Nacos); healthChecker.setCurlPath(/xxx.html); cluster.setHealthChecker(healthChecker); MapString, String clusterMeta new HashMap(); clusterMeta.put(xxx, yyyy); cluster.setMetadata(clusterMeta);instance.setCluster(cluster);naming.registerInstance(nacos.test.4, instance);2、注销实例 1描述 删除服务下的一个实例。 void deregisterInstance(String serviceName, String ip, int port) throws NacosException;void deregisterInstance(String serviceName, String ip, int port, String clusterName) throws NacosException;2参数 请求参数 名称类型描述serviceName字符串服务名ip字符串服务实例IPportint服务实例portclusterName字符串集群名 3请求示例 NamingService naming NamingFactory.createNamingService(System.getProperty(serveAddr)); naming.deregisterInstance(nacos.test.3, 11.11.11.11, 8888, DEFAULT);3、获取全部实例 1描述 获取服务下的所有实例。 ListInstance getAllInstances(String serviceName) throws NacosException;ListInstance getAllInstances(String serviceName, ListString clusters) throws NacosException;2参数 请求参数 名称类型描述serviceName字符串服务名clustersList集群列表 返回参数 List 实例列表。 3请求示例 NamingService naming NamingFactory.createNamingService(System.getProperty(serveAddr)); System.out.println(naming.getAllInstances(nacos.test.3));4、获取健康或不健康实例列表 1描述 根据条件获取过滤后的实例列表。 ListInstance selectInstances(String serviceName, boolean healthy) throws NacosException;ListInstance selectInstances(String serviceName, ListString clusters, boolean healthy) throws NacosException;2参数 请求参数 名称类型描述serviceName字符串服务名clustersList集群列表healthyboolean是否健康 返回参数 List 实例列表。 3请求示例 NamingService naming NamingFactory.createNamingService(System.getProperty(serveAddr)); System.out.println(naming.selectInstances(nacos.test.3, true));5、获取一个健康实例 1描述 根据负载均衡算法随机获取一个健康实例。 Instance selectOneHealthyInstance(String serviceName) throws NacosException;Instance selectOneHealthyInstance(String serviceName, ListString clusters) throws NacosException;2参数 请求参数 名称类型描述serviceName字符串服务名clustersList集群列表 返回参数 Instance 实例。 3请求示例 NamingService naming NamingFactory.createNamingService(System.getProperty(serveAddr)); System.out.println(naming.selectOneHealthyInstance(nacos.test.3));6、监听服务 1描述 监听服务下的实例列表变化。 void subscribe(String serviceName, EventListener listener) throws NacosException;void subscribe(String serviceName, ListString clusters, EventListener listener) throws NacosException;2参数 请求参数 名称类型描述serviceName字符串服务名clustersList集群列表listenerEventListener回调listener 返回参数 无 3请求示例 NamingService naming NamingFactory.createNamingService(System.getProperty(serveAddr)); naming.subscribe(nacos.test.3, event - {if (event instanceof NamingEvent) {System.out.println(((NamingEvent) event).getServceName());System.out.println(((NamingEvent) event).getInstances());} });7、取消监听服务 1描述 取消监听服务下的实例列表变化。 void unsubscribe(String serviceName, EventListener listener) throws NacosException;void unsubscribe(String serviceName, ListString clusters, EventListener listener) throws NacosException;2参数 请求参数 名称类型描述serviceName字符串服务名clustersList集群列表listenerEventListener回调listener 返回参数 无 3请求示例 NamingService naming NamingFactory.createNamingService(System.getProperty(serveAddr)); naming.unsubscribe(nacos.test.3, event - {});
http://www.huolong8.cn/news/414892/

相关文章:

  • 公司网站建设的相关费用入账学电子商务专业可以从事哪些工作
  • 网站排名与什么有关系网站开发和设计如何合作
  • 怎么样做网站视频上海网站制作哪家奿
  • 上海自助建站企业织梦网站怎样做seo
  • 关于学校的网站模板免费下载做cpa一定要有网站
  • 做特产的网站开张怎么宣传网站建设优化及推广
  • 网站优化每天更新得是首页更新吗企业商场网站建设
  • 深圳网站建设..汕头站
  • 自己建设的网站打开慢有没有免费查企业信息的软件
  • 重庆个人建站模板wordpress 安装插件
  • 三只松鼠网站开发模板企业文化理念
  • 网站流量如何转化为钱广州网站建设gzzhixun
  • 做网站 属于电子商务做网站的有哪些学校
  • 网站密码如何找回密码学校网站管理与建设
  • 云南个旧建设局网站免费的网站推广怎么做效果好?
  • 中国可信网站查询页面设计优缺点
  • 网站建设报价模板下载app产品网站模板
  • 手机网站欢迎页面设计wordpress无法在线安装插件
  • 该网站未在腾讯云备案wordpress前端编辑器
  • 兰州网站排名分析WordPress禁止多ip
  • 工信部网站黑名单网站的绝对路径
  • 竞价托管就选微竞价成都seo达人
  • 国外网站服务器免费网站底部加备案号
  • 企业网站建设的三种方式并举例北京吴勇设计工作室
  • icp备案查看网站内容吗响应式网页设计与制作
  • 现在做网站一般多少钱020网站建设
  • 河南网站建设公司价格可以自己做图片的软件
  • 模板网站有哪些在哪里下载小说网页设计代码模板
  • 域名连接网站游戏交易网站建设
  • 为什么自己做的网站用QQ打不开建站网站那个好