极客视点
极客时间编辑部
极客时间编辑部
113240 人已学习
免费领取
课程目录
已完结/共 3766 讲
2020年09月 (90讲)
时长 05:33
2020年08月 (93讲)
2020年07月 (93讲)
时长 05:51
2020年06月 (90讲)
2020年05月 (93讲)
2020年04月 (90讲)
2020年03月 (92讲)
时长 04:14
2020年02月 (87讲)
2020年01月 (91讲)
时长 00:00
2019年12月 (93讲)
2019年11月 (89讲)
2019年10月 (92讲)
2019年09月 (90讲)
时长 00:00
2019年08月 (91讲)
2019年07月 (92讲)
时长 03:45
2019年06月 (90讲)
2019年05月 (99讲)
2019年04月 (114讲)
2019年03月 (122讲)
2019年02月 (102讲)
2019年01月 (104讲)
2018年12月 (98讲)
2018年11月 (105讲)
时长 01:23
2018年10月 (123讲)
时长 02:06
2018年09月 (119讲)
2018年08月 (123讲)
2018年07月 (124讲)
2018年06月 (119讲)
时长 02:11
2018年05月 (124讲)
时长 03:16
2018年04月 (120讲)
2018年03月 (124讲)
2018年02月 (112讲)
2018年01月 (124讲)
时长 02:30
时长 02:34
2017年12月 (124讲)
时长 03:09
2017年11月 (120讲)
2017年10月 (86讲)
时长 03:18
时长 03:31
时长 04:25
极客视点
15
15
1.0x
00:00/04:53
登录|注册

腾讯组织架构整改:中小团队怎样搭建架构?

讲述:杜力大小:4.47M时长:04:53
最近,腾讯宣布成立技术委员会,也代表之前宣布的架构调整终于拉开序幕。那么中小团队要如何搭建自己的团队架构呢?
平时,技术大会上的分享大多都是关于亿级流量、超大型研发团队,虽然值得借鉴,但是由于应用场景与研发资源差异,一般企业并不容易落地。事实上,中小型研发团队在 IT 行业还是占大多数,他们在技术架构方面的问题较多,技术阻碍业务、跟不上业务发展的情况也很常见。
在互联网大厂做技术研发,大多只是一个螺丝钉。而在中小研发团队,则比较容易掌控全局。
本文作者结合近几年的工作经验,摸索出了一套可以直接落地、基于开源、成本低、可快速搭建的框架及架构方案。在这里,小团队也能构建大网站,中小研发团队架构实践更贴近于一般程序员的实际情况,更具有应用参考价值。
在框架篇中,所有的中间件与工具均基于开源,早期也有部分自主研发,比如集中式日志和度量框架,后期为了快速搭建、降低成本、易于维护和扩展,全部改为开源。这样不仅利于个人学习成长、知识重用和职业生涯,也利于团队组建和人才引进。
其中可以用到的工具如下:
1. 集中式缓存 Redis。
虽然看起来简单,但它影响着系统效率、性能、数据一致性。具体包括:缓存时长、缓存失效处理、缓存键、缓存内容及数据结构选择、缓存雪崩处理等。
2. 消息队列 RabbitMQ。
它有着大量的数据堆积能力,然后再可靠地进行异步输出,这是 EDA 事件驱动架构的核心,也是 CQRS 同步数据的关键。没有选择 Kafka 是因为业务系统有对消息高可靠性要求,以及对复杂功能如消息确认 Ack 的要求。
3. 集中式日志 ELK。
它的易用性虽然有所下降,但是它支持海量数据以及与编程语言无关的特征。
4. 任务调度 Job。
这是分布式系统异步和批处理的关键。Job 分为 WinJob 和 HttpJob。WinJob 是操作系统级别定时任务,使用开源框架 Quartz. NET 实现;HttpJob 则是自主研发,采用 URL 可定时调用微服务。
5.HttpJob。
它借助集群巧妙解决 WinJob 单点和发布问题,并集中管理所有调度规则,调度规则有简单规则和 Cron 表达式。
6.Zabbix。
它一般用于系统级别监控,Metrics 则用于业务应用级别监控。业务应用是个黑盒子,通过数据埋点来收集应用的实时状态,然后展示在大屏或看板上。它是报警系统和数字化管理的基础,还可以结合集中式日志来快速定位和查找问题。
7. 微服务框架。
基于开源 ServiceStack 实现,简单易用、性能好,文档自动生成、方便调试。
8. 全文搜索引擎 Solr。
它不仅简单易用性能好,而且支持海量数据高并发,只需要实现系统两边数据的准实时或定时同步即可。
此外,还可以选用分布式协调器 ZooKeeper、ORM 框架、对象映射工具 EmitMapper 和 AutoMapper、发布工具 Jenkins 等。
架构师除了会用工具外,还需要架构设计思想和性能调优技能,具体包括以下内容:
企业总体架构需要在技术、业务、管理之间游刃有余地切换,包括业务架构、应用架构、数据架构和技术架构。
单个项目架构要做到功能需求、用例活动图、领域图、架构分层,核心代码环环相扣。
统一应用分层要做到可大可小、简单易用、支持多种场景。应用系统的本质就是机器,是处理设备,也是一进一出一处理,IPO 方式相对于 DDD 而言更为简单实用。
生产环境偶尔会出现异常,WinDbg 或 GDB 是解决此类问题的利器。
事实上,从死气沉沉到激情活力,企业研发团队要先弄清遇到的问题,然后找到解决之道,包括管理工具、制度和行为措施,并予以贯彻,形成一种习惯,最后总结并归纳成一句话,才能成为公司或团队的执行力。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
免费领取
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • 小十七
    小公司不管是数量级还是业务需要,架构肯定有别于大公司,符合自己的就是最好的
  • Zopen
    点赞
  • 鹏😎
    好文章,正是需要的 作者那句话,路大多数开发者都是中小企业,技术能力有限,说到太好了,大企业真是有数的,可以参考的经验和我们这些小企业真是有落差,希望作者多出这样的作品
收起评论
显示
设置
留言
3
收藏
99+
沉浸
阅读
分享
手机端
快捷键
回顶部