以B站为例:

主域名:www.bilibili.com

账户登录注册相关域名,包括app登录:passport.bilibili.com

静态资源css,js,img等相关域名:static.bilibili.com

用户中心相关域名:space.bilibili.com

webapi接口相关域名:api.bilibili.com

app接口相关域名:app.bilibili.com

另外有一些隐性的域名:

例如数据库连接相关的:db.bilibili.com

redis缓存相关的:redis.bilibili.com

由此可见:

系统的架构无非就是一个“拆”字,合理的将不同的模块拆分成不同的域名,有以下几点好处

1、每个域名配置独立的服务器,服务器的业务更加专注,扩展更加方便。

2、针对特定的业务,可以更方便的对服务器进行优化。

相关分析

1、登录状态,设置cookie,范围域名未.bilibili.com,保证跨域名能登录状态

2、用户中心用特定域名,增加url的友好性,防止url过长,能直接https://space.bilibili.com/2374194这种域名+id的格式,url表现力极强。

3、api相关用api.bilibili.com域名。

4、动态数据,例如首页,各分区页,数据变更频繁的页面,全部用ajax请求数据的方式,因为数据变换频繁,也就没有渲染兼容seo的必要了。

5、播放页,最重要的一个页面,相关标题和简介等,则需要用到渲染的方式,兼容seo,其他一些动态数据,例如评论,播放量等数据,统一用ajax加载。

6、cdn,静态资源css,js,img等统一设置了很长的cdn缓存,更新用url参数版本号来控制。

7、甚至一些非动态的接口数据,也可以用cdn来缓存,从而减少db和redis的压力。

最新文章

  1. H3C汇聚层交换机认证在线人数展示系统之CheckList和燃尽图(16/04/06-16/04/13)
  2. PPT开发 * .pps 文件类型
  3. Firefox终于返回到了Debian stable
  4. 161104、NoSQL数据库:key/value型之levelDB介绍及java实现
  5. Nginx启动出错 error while loading shared libraries:
  6. 圣魔大战3(Castle Fantisia)艾伦希亚战记完美攻略
  7. 【iOS】UIViewController基类的实现
  8. Unity 5.X扩展编辑器之打包assetbundle
  9. Android中软键盘展示、EditText焦点获取及windowSoftInputMode属性探究
  10. 内核中hash表(以net_device为例)
  11. js数值进制互转
  12. javascript的变量类型:var、let、const
  13. (十一) 整合spring cloud云架构 - SSO单点登录之OAuth2.0登录流程(2)
  14. middle源码
  15. 20172319 实验二《Java面向对象程序设计》实验报告
  16. ThoughtWorks.QRCode类库
  17. 等边三角形---dfs
  18. xamarin.droid自己的示例工程有些都装不上模拟器,是因为它的architectures选项没设对
  19. [bzoj 1143]最长反链二分图最大匹配
  20. ListView加边框

热门文章

  1. delphi 需要应用一个单元是,需要在工程里面先添加单元
  2. c/c++编码规范(2)--作用域
  3. 基于Opencv的梯度及其方向
  4. APP安全_Android渗透环境
  5. C学习笔记-小程序(长期更新)
  6. 在学习python的Django\Flask\Tornado前你需要知道的,what is web?
  7. Appendix 2- Lebesgue integration and Reimann integration
  8. poj3122 Pie (二分)
  9. Kafka主题体系架构-复制、故障转移和并行处理
  10. javascript的一些有用函数记录,不断更新。。。