写点什么

KK 架构训练营 - Week1

作者:jjn0703
  • 2023-10-29
    江苏
  • 本文字数:1386 字

    阅读完需:约 5 分钟

作业题

思考和整理自己日常工作中架构相关事项,以班为单位,提交信息汇总。

1)自己工作中的哪些任务是跟架构相关的?

2)能否大概描述自己负责的/做过的业务系统的业务需求和大概流程?

3)能否讲清楚自己目前负责的系统使用的各类技术,框架,以及组件,模块等。

本人所在的团队, 目前业务主要服务于政府/企业/高校等, 开发业务流程类/舆情处理类的软件系统. 目前业务系统主要基于 Spring Cloud Netflix 技术栈搭建的微服务体系, 业务流程主要用到 MySQL 数据库, 部分有国产化要求的采用的达梦数据库, 缓存中间件采用 Redis, 文件存储基于 FastDFS, Nginx; 框架主要涉及 Spring Boot, Spring Cloud (Eureka, Feign, Spring Cloud Gateway), Apollo Config, 工作流引擎 Flowable, 分布式任务调度 PowerJob, Canal 等. 数据处理主要基于 Kafka, 算法部分则由 NLP 组负责. 监控体系基于 Prometheus, Skywalking 等.

  1. 日常工作中, 我负责的与架构相关的工作包括一下几个方面.

  • 负责一部分基础服务的编码及维护, 包括登录服务, 用户中心管理服务, 用户查询服务等;

  • 负责一部分新技术的调研, 比如组内落地的分布式任务调度中间件 PowerJob; 尝试(项目暂时未上线, 还在持续验证中)在某业务上使用 TiDB 等;

  • 推动后台组知识库的建设.

  1. 最近负责某业务系统, 采用专网+互联网双端协作的模式, 系统在专网对接上级的系统, 读取到数据后通过 WebSocket 发通知给用户, 用户(总的负责人)按业务流程, 派发给专网及互联网端的执行人, 由各单位的执行人办理并反馈情况, 总的负责人再向上级反馈办理情况. 双网端同步, 包括数据库同步和文件同步, 通过网闸设备实现.

如下是采用 Canal + Kafka 实现双端文件的同步.

https://www.processon.com/view/link/61459d35637689589ed7f49f

  1. 目前业务主要采用的技术栈包括:

  • 流量网关: Nginx

  • 数据库: MySQL, 达梦(部分项目要求必须采用国产数据库)

  • 文件存储: FastDFS

  • 缓存: Redis

  • 业务开发框架:

  • Spring Cloud Netflix, 具体是: Eureka + OpenFeign + Gateway(包括一套业务网关, 和一套对接三方鉴权的对外网关)

  • 配置中心采用 Apollo Config

  • 分布式任务调度采用 PowerJob

  • 工作流引擎采用 Flowable

  • Binlog 订阅触发采用 Canal

  • 消息队列: Kafka

  • 监控体系: Prometheus

  • 调用链监控: Skywalking

【分组学习讨论环节】组内自行选出组长,组长带领大家沟通讨论自己公司的架构演进过程,思考与主流演进的差异,考虑为什么会有这些的演进选择,写成这样一个调研方案。(如果加入公司不久,不太清楚,可以去问老人,也可以写自己上一家公司的。如果都没有,那么就找一个同组人的案例一起来完成)

  • 业务为啥基于 Spring Cloud Netflix?

  • 部门最初是基于 Struts + Oracle 编写的单体应用, 在 2019 年的时候, 领导决定切换架构, 由前同事调研选型, 最终定的这一套架构. 没有采用 Dubbo 的原因, 一者是 Http 协议可读性更好, 另外在那个时间点, Spring Cloud Netflix 热度更高. 而 Spring Cloud Alibaba 体系则是后台才诞生的;

  • 为啥没有容器化的部署技术?

  • 目前架构依然能运行还比较稳定, 且业务流量也不大, 切换容器技术, 没有明显的收益?

  • 需要有人能学习好 K8S 相关体系, 目前暂时还没, 当然这也是机遇, 哈哈哈.

  • 分布式任务调度为啥选了 PowerJob

  • 最开始调研任务调度是因为产品设计的, 需要在未来任意的某一秒执行业务逻辑. 调研了一圈, 开源方案里, 也就 PowerJob 提供了相关的 API, 其他解决方案, 如 Xxl-job 是没有相关 API.

发布于: 刚刚阅读数: 4
用户头像

jjn0703

关注

Java工程师/终身学习者 2018-03-26 加入

USTC硕士/健身健美爱好者/Java工程师.

评论

发布
暂无评论
KK 架构训练营 - Week1_架构_jjn0703_InfoQ写作社区