记录开发过程中的一些痛点

1、在开发中的一些痛点,以及解决方式

主要是对于环境方面进行解决的方案
面试

  1. 环境配置与依赖管理:在项目开发过程中,开发、测试和生产环境的配置可能存在差异,同时依赖库的管理也可能导致版本冲突。使用Docker容器化技术可以解决环境配置问题,而Maven或Gradle等构建工具可以帮助管理依赖库。
  2. 代码重复与模板代码:在开发过程中,可能会遇到大量重复代码或模板代码。可以使用代码生成工具(如MyBatis Generator或JHipster)生成常见的CRUD操作代码,减少手动编写的工作量。
  3. 接口文档维护:在团队协作中,接口文档的维护是必不可少的。可以使用Swagger等工具自动生成API文档,减少手动编写和更新的工作量。
  4. 部署:自动化测试和持续集成/持续部署(CI/CD)可以提高开发效率和代码质量。使用Jenkins、GitLab CI/CD等工具实现自动化构建和部署。
  5. 日志管理:在分布式系统中,日志的收集和分析变得尤为重要。可以使用ELK(Elasticsearch、Logstash、Kibana)等日志分析系统进行日志收集、搜索和可视化。
  6. 监控与报警:为了确保系统稳定运行,需要实时监控系统状态并在出现问题时及时报警。可以使用Prometheus、Grafana、Zabbix等监控工具进行系统监控,同时结合报警组件(如Alertmanager)进行报警通知。

通过以上方法,可以有效地解决后端开发过程中的痛点,并提高开发效率。

2、项目中需要短信验证时需要注意的地方

注意事项

  1. 需要防止不同类型的验证码串起来的情况
  2. 本来是登录验证码,可以通过修改手机号的逻辑,这本身就不符合逻辑,所以在通用设计的事情,应该需要考虑到

3、定时任务框架从Scheduled升级为xxlJob

理由: 在线上需要手动启动定时任务一次时,没有入口。所以升级为xxlJob --在参考其他项目后,其实也可以写一个controller用来调用对应的定时任务 xxljob用于分布式服务的时候(例如有两个A服务)

4、springboot滚动更新的几种方式

待办

  1. k8s提供的滚动更新
    1. 优点
      1. 配置统一管理,可视化
      2. 网络探针
    2. 缺点
      1. 有很多配置需要注意
      2. 有很多坑
      3. 太庞大了
  2. nginx+shell实现滚动更新

这个脚本假设你有两个Spring Boot应用实例,一个在8080端口,一个在8081端口,初始状态下,所有的流量都被引导到8080端口的应用。你的新版本应用将被部署到8081端口。
这个脚本将会:

  1. 构建新版本的Spring Boot应用
  2. 部署新版本的应用到8081端口
  3. 修改nginx配置,将流量逐渐引导到8081端口的应用
  4. 重载nginx配置,使得新的配置生效
  5. 停止8080端口应用,然后删除docker镜像(如果是用docker的话)

实际的脚本需要后面整理

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值