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

网站模板文件下载怎样查看网站制作公司

网站模板文件下载,怎样查看网站制作公司,上海房地产管理局政务信息网,龙岗网页设计目录 一、本地配置二、配置中心1、以Nacos为例#xff1a;2、Pull模式3、也可以通过Nacos实现注册中心 三、配置中心提供了哪些功能四、如何操作配置中心1、配置注册2、配置反注册3、配置查看4、配置变更订阅 五、主流的微服务注册中心有哪些#xff0c;如何选择#xff1f;… 目录 一、本地配置二、配置中心1、以Nacos为例2、Pull模式3、也可以通过Nacos实现注册中心 三、配置中心提供了哪些功能四、如何操作配置中心1、配置注册2、配置反注册3、配置查看4、配置变更订阅 五、主流的微服务注册中心有哪些如何选择1、在选择微服务注册中心时可以考虑以下因素2、主流注册中心1Eureka2Consul3Zookeeper4Nacos 3、如何选择 微服务 Spring Cloud系列 大家好我是哪吒。 在单体服务时代关于配置信息管理一套配置文件即可。 而拆分成微服务之后每一个系统都会有自己的配置并且都各不相同有些配置还需要动态改变以达到动态降级、切流量、扩缩容等目的。 一、本地配置 在Spring Boot开发中可以把配置项放到config文件中把配置当代码使用。比如 public class AppConfig {public static final String static_SUCCESS_CODE 0000;public static final String static_ERROR_CODE 0001; }也可以通过Value加载yaml配置文件中的配置。 Component public class HttpConfig {// 核心线程数public static String config_CORE_POOL_SIZE;Value(${async.corePoolSize})public void setSaveUrl(String corePoolSize) {HttpConfig.config_CORE_POOL_SIZE corePoolSize;} }无论是将配置定义在代码中还是将配置写在yaml配置文件中都相当于把配置存在应用程序的本地。 如果想修改配置就需要将在Linux服务器中部署的程序停止然后手动修改其配置再进行重启。 如果修改的配置项较多这也是一项容易出错而且繁琐的事情长期运维的小伙伴应该深有体会。 当时我就在想作为世界上使用人数最多的语言更新一个配置需要这么复杂吗 答案肯定不是的。 二、配置中心 配置中心Configuration Center通常用于集中管理应用程序的配置信息。这些配置信息可以包括数据库连接信息、外部服务地址、日志级别、超时设置等。配置中心可以提高应用部署的灵活性和可维护性。 程序启动时可以自动从配置中心拉取所需要的配置项配置中心中配置有所改变时同样可以自动从配置中心拉取最新的配置信息服务不需要重新发布。 1、以Nacos为例 配置中心的信息一般都是放在bootstrap.yml 中初始化的时候Bootstrap Context负责从外部源加载配置属性并解析配置Bootstrap属性有高优先级默认情况下它们不会被本地配置覆盖然后再读取application.yml中的配置进行配置合并完成项目的启动。 项目的核心配置需要热更新的配置才有放到nacos管理的必要。基本不会变更的一些配置还是保存在微服务本地比较好。 2、Pull模式 Nacos采用的是Pull模式获取服务端数据客户端采用长轮询的方式定时的发起Pull请求去检查服务端配置信息是否发生了变化。 客户端发起长轮询请求监听变更的dataIdgroup服务端收到客户端的请求这时会挂起客户端的请求如果在服务端设计的29.5s之内都没有发生变更触发自动检查机制此时不管是否有变化服务端都会返回响应到客户端如果在29.5s之内配置项发生了变更则会触发一个事件机制将变更的数据推送的客户端。 3、也可以通过Nacos实现注册中心 这种是最简单的Nacos注册中心有若干个服务都注册到Nacos注册中心调用之前先到Nacos获取对应接口然后进行实际的调用。 服务1和服务2和Nacos之间维护一个心跳关系每5秒跳一次频率不能太快或者太慢否者会嗝屁的。 如果Nacos在5秒内没有收到心跳则表示服务挂了Nacos会下线此服务。 对于超过15秒没有收到客户端心跳的服务实例会将它的healthy属性置为false客户端无法调用healthy为false的服务。 如果超过30秒没有收到心跳Nacos会直接将此服务剔除。 也可以通过服务端主动注销的方式停止注册。 服务1调用服务2时服务1会通过定时任务到Nacos中获取在线的服务保证所调用的服务一直都是健康在线的状态。 获取到之后用缓存将其保存起来然后通过负载均衡器调用服务2此时将不再使用服务端的负载均衡Nginx了。 三、配置中心提供了哪些功能 配置项管理支持添加、发布、修改配置项以及配置项的分组可以实现版本管理支持热发布、灰度发布、环境隔离提供API接口与可视化操作页面。权限控制配置项访问控制读权限和写权限。操作审计支持记录用户的操作行为。配置变更当有新的配置项或是现有的配置项发生变动时配置中心能够进行实时的监控并做出相应的处理。配置推送通过订阅/发布的模式将配置信息推送给各个服务的消费者。历史版本管理保存所有的配置历史版本并提供查询和对比的功能可以轻松的回滚到任何一个版本。灰度发布通过配置中心可以实现在部分环境中先发布新的配置项观察一段时间没有问题后再推送给其他所有的环境。配置变更审计记录每次配置的修改记录方便追踪和管理。 这些功能可以帮助降低分布式系统中管理配置信息的成本降低因错误的配置信息变更带来可用性下降甚至发生故障的风险。 四、如何操作配置中心 1、配置注册 配置中心的配置注册通常包括以下步骤 服务提供者在启动时将自己的配置信息注册到配置中心。这些信息可能包括服务的IP地址、端口号、数据库连接信息等。配置中心接收并存储这些配置信息。一般来说配置中心会提供一个统一的接口或者界面让服务提供者能够方便地进行注册。服务消费者在需要使用某个服务时会从配置中心获取相应的配置信息。这样即使服务提供者的地址等信息发生变化服务消费者也能通过配置中心获取到最新的配置信息而无需手动修改。 通过这种方式配置中心实现了配置的统一管理和动态更新。服务提供者和消费者都可以通过配置中心来进行配置的注册和获取大大提高了配置的灵活性和便利性。同时也减少了因为手动配置错误而导致的问题提高了系统的稳定性和可用性。 要通过Java代码实现配置注册到配置中心你可以遵循以下步骤。这里继续提供一个通用的示例代码以展示基本的流程和步骤。请注意实际的代码可能会因所使用的具体配置中心而有所不同。 import com.configcenter.sdk.ConfigCenterClient; import com.configcenter.sdk.exception.ConfigCenterException; import com.configcenter.sdk.model.Configuration; public class ConfigurationRegistration { public static void main(String[] args) { // 配置中心的服务器URL和认证令牌 String serverUrl configcenter_server_url; String authToken your_auth_token; // 创建配置对象 Configuration configuration new Configuration(); configuration.setId(your_configuration_id); configuration.setKey(your_configuration_key); configuration.setValue(your_configuration_value); // 可选设置其他配置项属性如描述、标签等 try { // 初始化配置中心的客户端 ConfigCenterClient client ConfigCenterClient.init(serverUrl, authToken); // 调用配置中心的注册API boolean success client.registerConfiguration(configuration); if (success) { System.out.println(配置注册成功); } else { System.out.println(配置注册失败); } } catch (ConfigCenterException e) { System.out.println(配置注册出现异常: e.getMessage()); e.printStackTrace(); } } }在这个示例中 我们首先创建了一个Configuration对象设置了配置项的ID、键key和值value。你可以根据需要设置其他属性如描述、标签等然后我们初始化配置中心的客户端并调用client.registerConfiguration()方法来执行配置注册操作传入创建好的Configuration对象。该方法将返回一个布尔值表示注册是否成功我们根据返回结果打印相应的消息如果发生异常我们进行异常处理并打印异常信息。 2、配置反注册 配置中心的配置反注册是指从配置中心中移除或注销某个配置项的过程。当某个服务或应用不再需要使用某个配置项时可以进行配置反注册操作。这个操作通常通过配置中心提供的接口来完成它会将指定的配置项从配置中心中删除或标记为注销状态。 配置反注册可以是手动触发的也可以是自动触发的。在手动触发方式下管理员或开发者可以通过调用配置中心提供的反注册接口指定需要反注册的配置项。而自动触发方式下通常会在服务或应用停止时自动触发配置反注册操作。 配置反注册是配置中心的一个重要功能它可以帮助管理员或开发者更好地管理配置项的生命周期确保配置中心中的数据与实际应用需求保持一致。同时通过反注册不再需要的配置项也可以减少配置中心的存储空间和资源消耗。 要通过Java代码实现配置反注册你需要使用配置中心提供的Java SDK或API。以下是一个示例代码展示了如何使用Java来实现配置反注册。 import com.configcenter.sdk.ConfigCenterClient; import com.configcenter.sdk.exception.ConfigCenterException; public class ConfigurationDeregistration { public static void main(String[] args) { // 配置中心的服务器URL和认证令牌 String serverUrl configcenter_server_url; String authToken your_auth_token; // 初始化配置中心的客户端 ConfigCenterClient client ConfigCenterClient.init(serverUrl, authToken); // 配置项的ID String configurationId your_configuration_id; try { // 调用配置中心的反注册API boolean success client.deregisterConfiguration(configurationId); if (success) { System.out.println(配置反注册成功); } else { System.out.println(配置反注册失败); } } catch (ConfigCenterException e) { System.out.println(配置反注册出现异常: e.getMessage()); e.printStackTrace(); } } }在这个示例中: 我们首先通过ConfigCenterClient.init()初始化配置中心的客户端传入服务器URL和认证令牌然后我们调用client.deregisterConfiguration()方法来执行配置反注册操作传入配置项的ID该方法将返回一个布尔值指示反注册是否成功根据返回结果我们打印相应的消息如果发生异常我们捕获并打印异常信息。 3、配置查看 通过配置中心的用户界面和API接口你可以方便地查看和管理配置项。 import com.configcenter.sdk.ConfigCenterClient; import com.configcenter.sdk.exception.ConfigCenterException; import com.configcenter.sdk.model.Configuration; public class ConfigurationViewer { public static void main(String[] args) { // 配置中心的服务器URL和认证令牌 String serverUrl configcenter_server_url; String authToken your_auth_token; // 配置项的ID或键key String configurationId your_configuration_id; // 或者使用配置项的键key来获取配置项根据配置中心API的要求而定 // String configurationKey your_configuration_key; try { // 初始化配置中心的客户端 ConfigCenterClient client ConfigCenterClient.init(serverUrl, authToken); // 调用配置中心的API接口获取配置项 Configuration configuration client.getConfiguration(configurationId); // 或者使用配置项的键key来获取 // Configuration configuration client.getConfigurationByKey(configurationKey); // 输出配置项的信息 if (configuration ! null) { System.out.println(配置项ID: configuration.getId()); System.out.println(配置项键key: configuration.getKey()); System.out.println(配置项值value: configuration.getValue()); // 输出其他配置项属性如描述、标签等 } else { System.out.println(未找到配置项); } } catch (ConfigCenterException e) { System.out.println(查看配置项出现异常: e.getMessage()); e.printStackTrace(); } } }在上面的示例代码中 我们首先初始化配置中心的客户端然后调用相应的API接口来获取配置项在获取到配置项后我们可以输出配置项的各种属性如ID、键key、值value等如果发生异常我们进行异常处理并打印相应的异常信息。 4、配置变更订阅 配置中心通常支持配置变更订阅功能允许应用程序或其他服务订阅配置项的变更通知。当配置项发生变化时配置中心会向订阅者发送通知以便订阅者能够及时获取最新的配置项。 要通过Java代码实现配置变更订阅你可以按照以下步骤进行操作 首先确保你已经初始化了配置中心的客户端如上述示例代码所示。创建一个订阅者listener类实现配置中心提供的订阅接口。这个类将负责处理配置项的变更通知。在订阅者类中实现接口中定义的方法以处理配置项的变更事件。该方法通常会在配置项发生变化时被调用并且会接收包含变更信息的参数。在你的应用程序或服务中创建一个订阅请求subscription request对象指定你希望订阅的配置项或配置项的过滤条件。使用配置中心的客户端对象调用订阅方法将订阅请求对象和订阅者对象作为参数传递给该方法。这将向配置中心注册你的订阅请求并指定订阅者类来处理变更通知。一旦注册成功当配置项发生变更时配置中心将调用订阅者类中的方法将变更信息传递给订阅者。你可以在这个方法中编写逻辑来处理配置项的变更如更新本地缓存、重新加载配置等。 下面是一个简单的示例代码展示如何实现配置变更订阅 import com.configcenter.sdk.ConfigCenterClient; import com.configcenter.sdk.exception.ConfigCenterException; import com.configcenter.sdk.listener.ConfigurationChangeListener; import com.configcenter.sdk.model.Configuration; public class ConfigurationSubscriber { public static void main(String[] args) { // 初始化配置中心的客户端省略代码 // 创建订阅者类 ConfigurationChangeListener listener new ConfigurationChangeListener() { Override public void onConfigurationChanged(Configuration configuration) { // 处理配置项变更事件 System.out.println(配置项发生变化: configuration.getKey() configuration.getValue()); // 在这里可以更新本地缓存、重新加载配置等 } }; try { // 创建订阅请求对象根据配置中心API的要求而定 // 指定你希望订阅的配置项过滤条件如配置项的键key或其他属性 // 调用配置中心的订阅方法 ConfigCenterClient client ConfigCenterClient.init(serverUrl, authToken); client.subscribeToConfigurationChanges(filter, listener); } catch (ConfigCenterException e) { System.out.println(配置变更订阅出现异常: e.getMessage()); e.printStackTrace(); } } }五、主流的微服务注册中心有哪些如何选择 1、在选择微服务注册中心时可以考虑以下因素 功能和特性不同的注册中心可能具有不同的功能和特性需要根据自己的需求来选择。例如一些注册中心可能更侧重于服务发现而另一些可能提供更全面的配置管理功能。性能和稳定性注册中心作为微服务架构的核心组件其性能和稳定性至关重要。需要对候选的注册中心进行性能测试和稳定性评估确保它们能够满足你的业务需求。易用性和开发体验注册中心的易用性和开发体验也是选择的重要因素。选择一个提供良好开发文档、客户端库和工具的注册中心可以使开发过程更加顺畅高效。社区支持和生态系统一个活跃和健康的社区可以为注册中心提供持续的支持和改进。同时一个丰富的生态系统可以提供更多的集成选项和解决方案。因此需要评估候选注册中心的社区活跃度和生态系统成熟度。安全性和合规性安全性和合规性对于任何系统都至关重要。需要确保所选的注册中心能够提供足够的安全保障并满足你的合规性要求。 最终选择微服务注册中心是一个权衡的过程需要根据自己的实际需求、技术栈、团队熟悉度等因素进行综合考虑。 2、主流注册中心 在Eureka、Consul、Zookeeper和Nacos这几个微服务注册中心中选择最适合的一个取决于你的具体需求和环境。 1Eureka 是Netflix开发的服务注册中心与Spring Cloud集成良好。保证了高可用性和最终一致性服务注册相对较快。在数据不一致时每个Eureka节点仍能正常对外提供服务保证了可用性。 2Consul 使用Go语言编写具有较好的跨平台性。提供了丰富的功能和强大的一致性保证。支持多数据中心和分布式部署适合大规模环境。 3Zookeeper 最初是一个分布式协调服务后来被用于服务注册和发现。提供了强一致性和高可用性但相对较复杂需要自行实现一些服务发现功能。 4Nacos 是阿里巴巴开源的项目支持基于DNS和基于RPC的服务发现。除了服务注册和发现还支持动态配置服务。在Spring Cloud中使用较为简单只需简单的配置即可完成服务的注册和发现。 3、如何选择 如果你使用Spring Cloud作为微服务框架Eureka可能是一个自然的选择因为它与Spring Cloud集成良好。如果你需要强大的跨平台支持和一致性保证Consul是一个不错的选择。如果你已经在使用Zookeeper或其他Apache项目并且希望在同一生态系统中解决服务注册和发现问题那么Zookeeper可能适合你。如果你在寻找一个简单且与阿里巴巴技术栈集成的解决方案Nacos是一个值得考虑的选项。 最终的选择应基于你的技术需求、团队熟悉度和业务场景。 微服务 Spring Cloud系列 微服务 Spring Cloud 1服务如何拆分使用微服务的注意事项 微服务 Spring Cloud 2一文讲透微服务核心架构注册中心、服务通信、服务监控、服务追踪、服务治理 微服务 Spring Cloud 3如何对微服务进行有效的监控 微服务 Spring Cloud 4分布式系统如何进行数据分区 微服务 Spring Cloud 5一图说透Spring Cloud微服务架构 微服务 Spring Cloud 6用了这么多年Docker容器殊不知你还有这么多弯弯绕 哪吒多年工作总结Java学习路线总结搬砖工逆袭Java架构师。 华为OD机试 2023B卷题库疯狂收录中刷题点这里 刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。
http://www.pierceye.com/news/219058/

相关文章:

  • 域名注册没有网站美食网页设计素材图片
  • wordpress网站在哪里修改密码ps做网站要求高吗
  • 企业网站带商城源码Audiology wordpress
  • 星月教你做网站东营城乡建设局官网
  • 镇江网站建设开发旺店通erp系统
  • 体育直播网站建设深圳制作小程序
  • 手机微信管理系统搜索引擎优化的流程是什么
  • 壁纸公司网站源码做网站价格表
  • 潜江网站设计商务科技网站建设
  • 合肥企业网站制作网站开发公司简介
  • 德州市建设小学网站文员工作内容
  • 网站域名买卖营销技巧第三季在线观看
  • 西宁市公司网站建设比较网站建设
  • 深圳网站设计公司建设部人才网站
  • 广水住房和城乡建设部网站巅峰网站建设
  • 建设智能家居网站SWOT分析商业网站有哪些
  • 相亲网站男人拉我做外汇h5特效网站欣赏
  • 网站一个多少钱有什么做同城的网站
  • 网站 改版 方案wordpress谷歌字体 4.9
  • 全网引流推广 价格网站百度关键词seo排名优化
  • 信用门户网站建设规范win7 iis 发布asp.net网站
  • 织梦网站添加视频教程如何套用wordpress的源码
  • 网站服务器模式wordpress安装后只有英文版
  • 企业网站建设晋升wordpress 自助建站
  • 网站建设案例建站资源
  • 四大商业网站镇江制作网站的
  • 做网站系统学校宠物交易网站模板
  • 佛山市官网网站建设哪家好瑶海合肥网站建设
  • 微网站app建筑图片大全高清
  • 贵阳金阳网站建设公司网站开发与维护书