知乎专栏 |
软件架构
插件的实现原理?
插件有几部分组成
如何实现插件安装,卸载,启用,禁用?
安装,卸载,启用,禁用怎样实现不停机,不关闭服务的情况进行?
如何设计一个MVC框架
怎样实现 URL 路由
怎样实现控制器
怎样实现视图
怎样实现模型
如何设计一个SOA框架?
框架分为几个部分?
采用什么协议与框架通信?
如果考虑到性能使用二进制协议你怎样实现?
如何解决并发冲突?
如何支持事务?
你怎样与消息队列集成或者通信?
设计一个分布式计划任务系统?
背景:计划任务即周期或定时运行的程序,我们要解决单点故障问题与负载均衡的问题,在一个分布式系统中单节点是不允许的。
设计要求:能够实现高可用,负载均衡,横向扩展
怎样处理同时运行产生的冲突问题?
怎样排队运行?
任务如何持久化?
一个节点宕机,另一个节点怎么接管没有完成的任务?
如何横向扩展?
扩展,收缩,维护如果能做到不停机,不影响业务?
瓶颈分析
请分析一下,下面图中可能出现的瓶颈并提出优化方案
User --> Wan -> Firewall -> Switch -> SLB -> Web Server -> Application Server --> Cache -> Database
设计一个10G交换的网络