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

java架构设计

1.可维护性

           封装性,例如将缓存redis封装到一个service,别的地方用到,只需要传参调用就行。如果有一天换国产缓存,只需要修改service,而不需要修改多出引用地方

* 可维护性:后期功能迭代,不可避免,不要因为一个小的改动,导致大面积的修改代码,做到高内聚低耦合!!
>   * 比如我们短信平台,在涉及做缓存和搜索功能时,我会单独提供一套缓存服务和搜索服务,甚至支付也一样,单独提供一个支付的服务。这下额服务只对外暴露基本的功能接口。如果后期涉及到了一些政策原因,其他原因,导致你需要去替换中间件,比如将Redis缓存中间件替换为其他的国产化的缓存组件。 因为前面的设计,我不需要去改动我的业务服务里的任何内容,只需要在缓存服务中,将之前Redis的API,替换为国产化的缓存的API即可,其他的不需要动。
> * 可扩展性:需要主动追加一些额外的功能或者方向时,可以更方面的动态增减功能,其他功能不会受到影响。
>   * 比如我们短信平台,在策略以及接口模块中的校验时,采用了策略设计模式 + 责任链模式做到动态可插拔的校验规则,如果后期需要拓展校验规则,只需要去继承校验接口去做具体的实现,然后修改用户的校验规则字段,就可以很方便的、扩展功能。
> * 安全性:安全是每个产品都必须考虑的点,所有很多加密算法要考虑好,比如你们的数据传输时,可以上非对称加密,对称加密,各种国密,(AES,RSA,SM1,2,3,4会就聊),还有一些敏感数据的过滤,在一些XSS攻击,注入攻击,CSRF攻击,这些都需要考虑,而且后期HTTPS也是必上的。
> * 性能:比如基本的CND,DNS优化,缓存的设计,分库分表,合理的中间件,多线程。。。。
> * 容错兜底:比如熔断,降级,做好兜底。 限流方便的考虑,还有MQ做削峰,部署的时候要规避单点故障问题,每个服务至少两台节点。 还可以考虑一些异地多活,其次还有数据的冗余备份。
> * 监控…………普罗米修斯。
> * 弹性伸缩…………GraalVM

http://www.xdnf.cn/news/433117.html

相关文章:

  • 笔记项目 day02
  • 蓝卓生态赋能“星链计划”火热招募中
  • CAElinux系统详解
  • 保护数据安全的关键一步-安装加密软件
  • 进程与线程:07 CPU调度策略
  • python无法导入自己的包
  • Qt 样式表qss学习
  • 6大住宅代理IP服务商测评(2025更新)
  • 【xxl-job调度器的源码分析】
  • 结构化数据处理
  • GPU服务器集群部署
  • 【越狱检测】HSF: Defending against Jailbreak Attacks with Hidden State Filtering
  • c语言第一个小游戏:贪吃蛇小游戏06
  • 逃离 AI 困境:保障 “说不” 的权利,守护数字自由
  • Selenium自动化测试
  • git cherry-pick和git stash命令详解
  • Python爬虫如何应对网站的反爬加密策略?
  • 第九届御网杯网络安全大赛初赛WP
  • 多线程与并发之进程
  • Focal Loss 原理详解及 PyTorch 代码实现
  • 运行Spark程序-在shell中运行
  • 思路解析:第一性原理解 SQL
  • 2025.5.13山东大学软件学院计算机图形学期末考试回忆版本
  • msyql8.0.xx忘记密码解决方法
  • 2025.05.11阿里云机考真题算法岗-第二题
  • 重置集群(有异常时)
  • Spring 集成 SM4(国密对称加密)
  • Springboot | 如何上传文件
  • ros2-node
  • SpringBoot--springboot简述及快速入门