小团队构建大网站:中小研发团队架构实践
序言
马克吐温说过一句话:将你推入深渊的都是那些你认为理所当然的事情!
框架篇
1.集中式缓存 Redis
2.消息队列RabbitMQ
3.集中式日志 ELK
早期我们使用自主研发的 Log4Net+MongoDB 来收集和检索日志信息,但随着数据量的增加,查询速度却变得越来越慢。后期改为开源的ELK,虽然易用性有所下降,但它支持海量数据及与编程语言无关的特征。
4.任务调度 Job
5. 应用监控 Metrics
Zabbix一般用于系统级别的监控 , Metrics 则用于业务应用级别的监控。
我们的业务监控系统使用Metrics.NET+InfluxDB+Grafana
6.微服务框架MSA
7.搜索服务Solr
8. 更多工具
分布式协调器 ZooKeeper : 工作原理、配置中心、 Master 选举、 Demo 。
ORM 框架 :Dapper.NET语法简单、运行速度快,与数据库无关,SQL自主编写可控,是一款适合互联网系统的数据库访问工具。
对象映射工具 EmitMapper 和 AutoM叩per: EmitMapper的性能较高,AutoMapper的易用性较好。
IoC框架:控制反转(IoC)轻量级框架 Autofac。
DLL 包管理:公司内部 DLL包管理工具NuGet,可解决DLL集中存储、更新、引用、依赖的问题。
发布工具Jenkins:一键编译、发布、自动化测试、一键回壤,高效、便捷、故障率低。
调试工具 WinDbg
生产环境偶尔会出现一些异常问题,而 WinDbg 或 GDB 就是解决此类问题的利器 。调试工具 WinDbg 如同医生的昕诊器,是系统“生病”时进行问题诊断的逆向分析工具 。Dump 文件类似于飞机的黑匣子 , 记录生产环境程序运行的状态 。 诊断工具一章主要介绍WinDbg 和 ProcDump 的使用 , 并分享一个真实的案例 。 多年前不知谁写的代码,导致每一两个月偶尔出现 CPU 飘高的现象 。 我们先使用 ProcDump 在生产环境中抓取异常进程的 Dump 文件,然后在不了解代码的情况下通过 WinDbg 命令进行分析,最终定位到有问题的那行代码。
单点登录
我们的凭证数据 Token 使用 JWT标准,以解决不同语言、不同客户端、跨 WebAPI 的安全问题。
资料
https://github.com/das2017?tab=repositories
https://www.cnblogs.com/xiaowu54/p/7698559.html