求仁得仁
07
12
12
17.架构师提升 17.架构师提升
作为一个架构师仅仅掌握这些“硬”知识、“硬”技能还不够,“业务驱动技术”,但是业务领域更多是很多“软”性的、抽象的技能。一旦一个东西呈“软”性的,大家虽然知道这类东西存在,但又难于表述。 业务架构 业务意识 互联网时代有个岗位——产品经理。
2023-07-12
11
16.ES数据迁移 16.ES数据迁移
不同方法的迁移步骤: elasticsearch-dump:适合数据量不大,迁移索引个数不多的场景 snapshot:适用数据量大的场景,原理就是从源ES集群创建数据快照,然后在目标ES集群中进行恢复 创建快照前必须先创建reposit
2023-07-11
11
15.海量数据 15.海量数据
存储系统的技术选型 技术选型时应该考虑哪些因素 首先需要确定的是系统的类型,是一个在线业务系统,还是一个分析系统?在线业务系统对应的术语是OLTP ( On-line Transaction Processing,在线事务处理),分析系统对
2023-07-11
11
RockDB RockDB
RocksDB 是Facebook 开源的一个高性能、持久化的KV存储引擎,最初是Facebook 的数据库工程师团队基于Google LevelDB 开发。一般来说我们很少见到过哪个项目直接使用RocksDB 来保存数据,即使未来大概也不
2023-07-11
11
14.高并发读写 14.高并发读写
侧重于“高并发读”的系统 搜索引擎 电商的商品搜索 电商系统的商品描述、图片和价格 侧重于“高并发写”的系统 广告扣费系统 同时有“高并发读”和“高并发写”的系统 电商的库存系统和秒杀系统 支付系统和微信红包 IM、微博和朋
2023-07-11
11
13.Sentinel限流 13.Sentinel限流
针对电商系统,在遇到大流量时,更多考虑的是运行阶段如何保障系统的稳定运行,常用的手段:限流,降级,拒绝服务。 限流 客户端限流 好处:可以限制请求的发出,通过减少发出无用请求从而减少对系统的消耗。 缺点:当客户端比较分散时,没法设置合理的
2023-07-11
10
12.秒杀系统 12.秒杀系统
秒杀系统的挑战:巨大的瞬时流量、热点数据问题、刷子流量 CDN 将Nginx 的职责放大,前置用来做Web 网关,承担部分业务逻辑校验,并且可能增加黑白名单、限流和流控的功能 刷子:无效:正常请求 = 6:1:3 秒杀业务流程梳理
2023-07-10
10
11.数据高可用 11.数据高可用
缓存不命中:把全量数据都放在Redis 集群中,处理读请求的时候,只需要读取Redis,而不用访问数据库。很多大型互联网公司都在使用这种方法 更新缓存: 启动一个更新缓存的服务接收数据变更的消息队列中的消息,然后注意解决消息的可靠性问题即
2023-07-10
10
10.高并发缓存 10.高并发缓存
缓存大体可以分为三类: 客户端缓存;服务端缓存;网络中的缓存。 根据规模和部署方式缓存也可以分为:单体缓存;缓存集群;分布式缓存。 缓存一定是离用户越近越好 缓存的分类: 客户端缓存 页面缓存 浏览器缓存 APP缓存 网络缓存 Web代理
2023-07-10
10
10
08.支付超时 08.支付超时
延迟任务(不推荐) 下单时增加一个定时任务,在五分钟后对订单进行超时判断。 超时判断时,可以先去支付宝上查询订单支付状态。 如果已支付,则判断订单是否正常结束,这是因为在用户完成扫码支付后,支付宝正常会往图灵电商发送支付成功的通知。但是
2023-07-10
09
07.订单系统设计 07.订单系统设计
重复下单问题(幂等) 用户在点击“提交订单”的按钮时,不小心点了两下 网络错误也有可能会导致重传,很多RPC框架和网关都拥有自动重试机制 主键唯一约束 为订单系统增加一个“生成订单号”的服务,这个服务没有参数,返回值就是一个新的、全局唯
2023-07-09
09
09
05.分布式唯一ID 05.分布式唯一ID
全局唯一性:不能出现重复的ID号,既然是唯一标识,这是最基本的要求。 趋势递增、单调递增:保证下一个ID一定大于上一个ID。 信息安全:如果ID是连续的,恶意用户的扒取工作就非常容易做了,直接按照顺序下载指定URL 即可;如果是订单号就更
2023-07-09
08
08
03.微服务架构拆分 03.微服务架构拆分
微服务拆分时机 微服务不仅仅是技术的升级,更是开发方式、组织架构、开发观念的转变。 业务规模:业务模式得到市场的验证,需要进一步加快脚步快速占领市场,这时业务的规模变得越来越大,按产品生命周期来划分(导入期、成长期、成熟期、衰退期)这时一
2023-07-08
08
1 / 3