高可用 高性能

数据尽量少

  • 数据多,跟DB打交道多,所以耗时会变长

请求数尽量少

  • 一个页面请求的任何资源都算请求

路径要尽量短

  • 缩短路径不仅可以提升可用性,还可以提升性能
  • 如何让路径短呢? 一种办法是让跨JVM的RPC远程调用改为JVM内部调用

依赖尽量少

  • 重要系统尽量不要依赖非重要系统

不要有单点

  • 如何避免单点呢?关键点是避免将服务的状态和机器绑定,即把服务无状态化,这样服务就可以在机器中随意移动

    那么如何把服务的状态和机器解耦呢?也有很多实现方式。例如把和机器相关的配置动态化,这些参数可以通过配置中心来动态推送,在服务启动时动态拉取下来,我们在配置中心设置一些规则来方便的改这些映射关系

  • 应用无状态化是避免单点的有效方式。但是存储服务本身很难无状态化。因为数据要存储在磁盘上,本身就要和机器绑定,那么这种场景