已经在学习这个课程。平常喜欢到处去搜一些信息,我也是偶然的机会,在微信搜了“编程网课大全”,关注了一个公众号才知道的。
说说我对架构师工作的一些理解吧。
需求发现与挖掘
在许多公司中,开发人员通常接收产品需求,然后设计、开发、测试并上线。
正常情况下这是没有问题的,但是随着系统的发展,会出现以下问题:
这个需求在a中会更好的实现,但是产品经理要与系统B的开发相联系,然后在系统B中实现。
这个需求已经以类似的方式实现了,但是开发人员并不知道它。在收到需求后,他们再次实现它。
需求不是客户真正想要的(尽管客户这么说)。此时,我们需要深入挖掘客户的需求。
因为我在开始的时候没有想清楚就急于上网,所以人们在上网后想优化这个内容(可能是算法,也可能是互动)。
保持系统的先进性
当系统刚开始上线时,可能会运行得很好。随着时间的推移,业务量的增加,数据库中的数据量越来越多,代码的条件分支总数也越来越多,这将导致客户体验越来越差。此时,业务架构师需要解决这个问题,为了保证系统的稳定性和性能,对系统进行了转换。
时间系统瓶颈
计算水平
内存问题,CPU问题,网络问题
数据级别
读瓶颈,写瓶颈
常用的方法有:缓存、读写分离、数据库和表分离、数据归档
面向领域的分析和设计
抽象业务模型
根据经验梳理业务,分析业务系统,分解服务,聚合高耦合系统。
为开发团队设计执行方向。
使用高内聚和低耦合,业务架构师根据自己的经验和业务意识定义哪些业务模型应该具有内聚性,以及如何相互交互。
测量系统拆分的需要
一些人会在短时间内非常小心地拆除这个系统,但由此产生的后果可能要付出非常高的代价。
分布式事务问题
服务器资源成本
操作和维护的复杂性
系统依赖关系的复杂性。
总结
业务场景是不断变化的,业务架构师要适应变化。