Spring Cloud 实战3

1. 电商系统包括哪些?
概念
元素
电商技术架构
2. 网易严选的流程是什么?
网易严选
3. 网易严选的架构演变是什么样的?

1)最开始3个人,前端直接静态写死,没有和后端相连。


石器时代

2)拆分数据库,然后将用户访问多但是相对独立的comment模块挪出来,涉及到数据库的挪动,则需要要么停机移库,要么使用双写,则不会停机。此时仍然是三个人。


青铜时代

3)采用微服务模式。

白银时代

4)搭建业务中台,使用service mesh,成为DevOps。引入了Jira

新时代
4. 网易严选的业务架构
业务架构

技术架构
5. 网易严选的技术选择是什么标准?

答:开源为主,自研为辅。根据社区活跃度,技术成熟度,和业务契合度,以及开发上手度来做考察。

6. 任何时刻都应该考虑三个要素:质量,效率,成本。
7. 架构是3分设计+7分演变。
8. 用户的设计是什么?

答:通过缓存来做字段的map;设计用户主表,同时额外的字段放在副表。额外的字段可以用kv来做,这样就可以无限量扩展了。


用户
9. 如果要放自定义表情,就需要将数据库设置为utf8-mb4
10. 库存要可追溯,这样就能知道什么时候进行的归还,什么时候进行的售卖,或者超卖。
库存
11. 库存有两个维度,一个维度是实际库存,一个维度是销售库存。
12. 库存预占。
13. 可以使用redis的sorted set,这样就能排序根据算法得出的值,方法是先删除该值,然后再插入。
14. CDN的运维经验:1)在源站上存储一定要选择多副本,这样就可以保证CDN的高可用性;2)也要注意有可能CDN回源的时候会被某些当地的网络运营商给劫持,从而使得用户无法访问,建议设置为https;3)选择合适的http访问策略,例如Etag或者cache-control,网易严选使用的是cache-control,因为Etag对于他们的访问性能损失比较大;4)cdn厂商已经支持http2,速度快于http1
15.订单包括预定的流程。
订单流程

模型

静态化
16. 商品的属性可以根据不同的种类group在一起,形成一个域,方便一起获取。
17. 业务缓存模块设计
业务缓存模块设计
18. 购物车实现,里面有快照实现,即需要告诉用户你加入到购物车还没有加入购物车的时候便宜了多少钱。
购物车

购物车

购物车
19. 下单如何设计
下单流程

下单特点

分布式事务自研开发

DTS
20. 库存优化,宁愿先被占用,让用户不能买,也不愿意出现超卖。
库存
21. 如何做大促?
大促

大促

容错评估和能力摸底
22. 限流组件,一般有令牌桶和滑动窗口两种策略,前者一次性发10个令牌,然后这10个令牌中不能超过访问次数;后者是在一定时间范围内不能超过访问次数。如果要做分布式限流,就需要分布式缓存,将lua脚本放入redis,然后调用计数器来使用。
限流组件

拦截器

拦截器

预案
23. 秒杀,其中风控是指这个用户平时的操作习惯,如果不符合目前的预期,则可以禁止其操作。
秒杀特点

秒杀
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 如果您认为对你有帮助,请点个赞! 准备工作 请先按照 spring cloud实战:1- 服务注册中心Eureka...
    jyjack阅读 524评论 0 1
  • 一、ETag 初识HTTP缓存-ETag 刷新页面后再次请求在请求头中却有个 If-None-Match: W/"...
    合肥黑阅读 4,036评论 0 0
  • 去年有段时间得空,就把谷歌GAE的API权威指南看了一遍,收获颇丰,特别是在自己几乎独立开发了公司的云数据中心之后...
    骑单车的勋爵阅读 21,154评论 0 41
  • API定义规范 本规范设计基于如下使用场景: 请求频率不是非常高:如果产品的使用周期内请求频率非常高,建议使用双通...
    有涯逐无涯阅读 2,968评论 0 6
  • 浏览器端的缓存规则 对于浏览器端的缓存来讲,这些规则是HTTP协议头和HTML页面的Meta标签中定义的。他们分别...
    niklause_sun阅读 5,596评论 0 7

友情链接更多精彩内容