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

做网站需要的大图义乌百度广告公司

做网站需要的大图,义乌百度广告公司,网页版式设计案例,云南网站建设哪家便宜最近遇到一些开发者朋友#xff0c;准备将原有的Java Spring的应用配置迁移到 阿里云应用配置管理 ACM 中。迁移过程中#xff0c;遇到不少有趣的问题。本文将通过一个简单的样例来还原迁移过程中遇到的问题和相关解决思路#xff0c;以期达到和读者交流的目的。 什么样的配…最近遇到一些开发者朋友准备将原有的Java Spring的应用配置迁移到 阿里云应用配置管理 ACM 中。迁移过程中遇到不少有趣的问题。本文将通过一个简单的样例来还原迁移过程中遇到的问题和相关解决思路以期达到和读者交流的目的。 什么样的配置适合进入配置中心 这是所有准备迁移配置到配置中心的用户遇到的第一个问题。我们将从时效性和安全这两个维度进行分析。 时效性静态 VS 动态 静态配置是指程序版本一旦发布基本上不会修改的配置内容例如 软件版本号显然版本号一经确定产品基本上不需要改。日志样式日志的layout如时间戳文件名日志级别等排版基本上也不需要大改。三方软件LicenseKey基本上也是一经发布很少变化。不排除中途三方软件License升级但是这种升级一般都可以根据软件重新发版来解决配置变更。PaaS平台连接串如数据库连接串中间包含数据库用户名和密码等。除非因为合规原因修改密码或者数据发生迁移等否则也是很少变化。 动态配置是指程序运行时的一些配置变化通常会影响到程序的一些运行行为例如 限流降级参数限流降级参数一般都不太固定。系统一般在运行时最好是需要根据实际workload pattern来动态调节限流参数如阈值RT峰值TPS等。监控报警阈值如交易环比下跌20%产生error报警下跌50%产生critical报警。 对于监控系统来讲线上业务特征由于变化比较频繁因此一般也不将报警的阈值写死日志打印级别线上一旦出现诡异的行为希望吧日志打印级别从error比如调高到debug一般都比较希望能动态的去调整而不需要重启应用。容灾多活一旦站点反生灾难一定是希望切换是越快越好。因此配置必须动态秒级生效尽可能降低资损。 从时效性的维度来讲一般建议用户把静态配置存放到自己文件中尽可能保持简单但是需要把动态配置放到配置中心里以加强灵活性和应用动态变更的实效性。 安全非敏感 VS 敏感 非敏感配置一般指偏向技术类暴露后不会导致配置上的安全隐患例如 软件版本号跟产品迭代相关无业务属性非敏感配置。日志样式一般跟程序事后诊断相关非敏感配置。日志打印级别影响日志打印的多或少非敏感配置。限流降级参数限流降级主要为维持内部应用稳定非敏感配置。监控报警阈值主要是影响业务的报警精度非敏感配置。容灾多活一般和数据主备配置和业务分片相关非敏感配置。 敏感配置通常和业务数据相关一旦泄露将引起安全隐患例如 三方软件LicenseKey一旦泄露容易发生LicenseKey被盗用为敏感配置。PaaS平台连接串典型如数据库连接串一旦泄露无论内部或外部用户都可以很容易地登到业务数据库接触到业务敏感信息为敏感配置。 从安全的维度来看我们通常建议用户把非敏感配置存放到自己的文件中尽可能保持简单但是需要把敏感配置放到配置中心里并加密且做好鉴权尽量不要让无关人员接触到。 时效性和安全分析总结 基于 Spring 框架的Java应用配置如何迁移 使用Spring框架的Java开发者一般经常用到的一种配置注解姿势是利用Spring的value注解。 原始的纯静态文件场景 例如这个配置包含两个配置参数一个是软件的版本号一个是数据库连接串 通过PropertySource和value的注解来自动注入配置。 Configuration ComponentScan(com.alibaba) PropertySource(classpath:myApp.properties)public class AppConfig {Value(value${url})private String URL;Value(value${dbuser})private String USER;Value(value${driver})private String DRIVER;Value(value${dbpassword})private String PASSWORD;Value(value${appVersion})private String version; }以上代码省略了相关数据库连接初始化等操作。 开始配置迁移进入混合配置场景 目前由于安全合规或配置时效等原因要开始迁移配置到ACM上。经过分析我们发现部分数据库的配置最好迁移到ACM以红色字体标注。红色部分将全部被迁移到ACM中。 接下来主要三个改动先归纳下。 在ACM控制台种增加相关配置的记录。Java工程包中增加 ACM SDK 相关依赖。少许修改代码增加在ACM中取配置的注解代码。 第一步直接到ACM中创建配置项名字为myapp.dbconfig.properties并把配置内容编辑在对应编辑框中。详细操作指南请参见 ACM 快速入门文档操作截图如下。 第二步在maven的pom.xml中增加依赖如下。 dependency groupIdcom.alibaba.nacos/groupId artifactIdnacos-spring-context/artifactId version0.2.1- RC1/version /dependency第三步在对应AppConfig.java代码中植入API注解通过ACM去获取动态配置。代码增加部分如红色字体部分。 Configuration ComponentScan(com.journaldev) PropertySource(classpath:myApp.properties) EnableNacosConfig(globalProperties NacosProperties(endpoint acm.aliyun.com, namespace xxx, accessKey xxx, secretKey xxx)) NacosPropertySource(dataId myApp.dbconfig.properties, autoRefreshed true) public class AppConfig { Value(value${url}) private String URL; Value(value${dbuser}) private String USER; Value(value${driver}) private String DRIVER; Value(value${dbpassword}) private String PASSWORD; Value(value${appVersion}) private String version; public String getVersion() { return version; } }至此改动结束。通过ACM SDK支持Spring的value注解能力代码几乎0改动。 几点注意事项 在以上代码实例中有几样事情需要注意 代码中使用的ACM SDK为Nacos SDK。Nacos 为ACM的开源实现ACM无缝兼容所有Nacos的接口。 在代码示例中使用了明文注解来写死ACM的endpoint, namespace, AK, SK, 等等。在实际操作种相关变量其实不用写死。 endpoint namespace等可以通过ACM的相关文件配置或系统变量来解决。AK, SK等敏感信息可以通过ECS Ram Role功能来让系统自行判断代码不用写死。代码中未包含动态配置监听的回调部分。 原文链接 本文为云栖社区原创内容未经允许不得转载。
http://www.zqtcl.cn/news/250513/

相关文章:

  • 绍兴专业网站建设公司网站seo设计
  • 开发网站需要多久建设银行招聘网站
  • 靖江 建设局网站安阳做网站的公司有哪些
  • 网站title在哪里用discuz做的门户网站
  • 郑州定制网站推广工具产品网络舆情管理
  • 个人网站的建设方法和过程七牛云存储代替WordPress
  • 网站应用网站开发android开发工具有哪些
  • 农业信息门户网站建设方案教做糕点的网站
  • 网站上的分享手机网站免费建设平台
  • 有哪个网站专业做漫画素材的wordpress显示问题
  • 网站开发工程师月薪网站网页设计培训机构
  • 专业网站运营备案名称网站名称
  • 盐城市建设局网站企业网站建设流程与方法 论文
  • 青岛信息推广网站营销自己的网站
  • wp博客 婚庆网站模板摄影网页面制作
  • 大型商城网站建设学计算机前端好就业吗
  • 杭州 电子商务网站建设专门做酒店自助餐的网站
  • 如何备份网站数据库网站用户体验模型
  • 网站域名注册流程办公室装修风格
  • a站免费最好看的电影片推荐方正隶变简体可以做网站用么
  • 创同盟做网站找公司做网站需要咨询什么问题
  • 西安行业网站株洲高端网站建设
  • 优化网站流量商城网站建设软件
  • dw属于什么的网页制作工具网络建站优化科技
  • 百度网站首页的设计理念南京高新区规划建设局网站
  • 虚拟机做实验的网站网站以个人名义备案
  • 自定义表单网站网站建设营销型号的区别
  • 有个网站做彩盒的贵阳网站建设托管
  • 网站制作属于什么专业做网站需要什么配置服务器吗
  • 网站开发学习培训广州网站优化关键词公司