ARL是澳洲公司财务管理系统, 目前用户18K左右,主要有 web版 ,windows 客户端版和 Clound版 ,用户可安需购买相应功能模块。采用前后分离开发模式,前端用 react 实现 ,后端用.netcore或.net6 做Rest Api ,BFF层将多个api数据整合处理后返回给前端,减轻前端压力,前端只需要发一次请求即可从BFF获取到想要的数据。 lua 语言开发 gateway 鉴权认证,用 scala 开发与税务局相关接口,数据采用按CompanyId分库存储在azure sql server数据库中。日志集成到Datadog,在Scrum开发过程中,编码采用 TDD 和Ping-Pong结对编程方式,用 CI/CD 实现集成和部署,Azure pipeline 管理各个环境测试部署。各个服务之间用NServiceBus或RestApi传递消息。调用链用Jeajer追踪,用来排查哪层出的问题。部分数据缓存在Redis中。系统业务相当复杂,很多团队按大功能模块在同几个Repository协作开发,为避免冲突,每个feature自建分支,测试完成后及时合并到main分支。