分布式系统案例课
杨波
前携程 / 拍拍贷技术总监,微服务技术专家
11809 人已学习
新⼈⾸单¥59
课程目录
已完结/共 66 讲
第一章 课程介绍 (2讲)
时长 09:20
时长 04:42
第二章 如何设计一个分布式计数服务 - 系统设计面试案例 (7讲)
第五章 如何设计一个高并发无状态的会话缓存服务 - 携程SessionServer案例 (5讲)
第十章 课程回顾&结课测试 (1讲)
分布式系统案例课
登录|注册
留言
5
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 37 | SaaS项目healthchecks.io的背景和架构(下)
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 需求收集和总体架构设计
04 | 存储设计
05 | 计数服务设计(上)
06 | 计数服务设计(下)
07 | 查询服务设计
08 | 技术栈选型
09 | 进一步考量和总结
10 | PMQ 2.0项目背景
11 | PMQ 2.0的设计解析(上)
12 | PMQ 2.0的设计解析(中)
13 | PMQ 2.0的设计解析(下)
14 | PMQ 3.0的演进
15 | Kafka的动态重平衡是如何工作的?(上)
16 | Kafka的动态重平衡是如何工作的?(下)
17 | 消息队列设计和治理最佳实践
18 | 第四章目录和大纲
19 | 微服务的四大技术难题是什么?
20 | 如何解决微服务的数据一致性分发问题?
21 | 如何解决微服务的数据聚合Join问题?
22 | 如何解决微服务的分布式事务问题?(上)
23 | 如何解决微服务的分布式事务问题?(下)
24 | 阿里分布式事务中间件Seata解析
25 | Uber微服务编排引擎Cadence解析
26 | 如何理解Uber Cadence的架构设计?
27 | 如何实现遗留系统的解耦拆分?
28 | 拍拍贷系统拆分项目案例
29 | CQRS/CDC技术在Netflix的实践
30 | 第四章总结
31 | SessionServer项目背景
32 | 总体架构设计
33 | 如何设计一个高性能基于内存的LRU Cache?
34 | 如何设计一个高性能大容量持久化的ConcurrentHashmap?
35 | 设计评估和总结
36 | SaaS项目healthchecks.io的背景和架构(上)
37 | SaaS项目healthchecks.io的背景和架构(下)
38 | 如何设计一个轻量级的基于DB的延迟任务队列?
39 | 如何设计一把轻量级的锁?
40 | 如何设计一个分布式限流系统?
41 | 如何设计一个分布式TopK系统实现实时防爬虫?
42 | 第七章目标和大纲
43 | 为什么说ServiceMesh是微服务的未来(上)
44 | 为什么说ServiceMesh是微服务的未来(下)
45 | 解析Envoy Proxy(上)
46 | 解析Envoy Proxy(下)
47 | Envoy在Lyft的实践
48 | 解析Istio
49 | K8s Ingress、Istio Gateway和API Gateway该如何选择?(上)
50 | K8s Ingress、Istio Gateway和API Gateway该如何选择?(下)
51 | Spring Cloud、K8s和Istio该如何集成?
52 | 第八章目标和大纲
53 | 拍拍贷案例:大型网站架构是如何演进的?
54 | 最小可用架构:Minimum Viable Architecture(上)
55 | 最小可用架构:Minimum Viable Architecture(下)
56 | 如何构建基于OAuth2/JWT的微服务架构?(上)
57 | 如何构建基于OAuth2/JWT的微服务架构?(下)
58 | 拍拍贷案例:如何实现数据中心机房的迁移?
59 | 携程/Netflix案例:如何实现同城双活和异地多活?
60 | 第九章大纲
61 | 学习开源项目的6个层次和8种方法(上)
62 | 学习开源项目的6个层次和8种方法(中)
63 | 学习开源项目的6个层次和8种方法(下)
64 | 百万年薪架构师是如何炼成的?
65 | 解读一份大厂的研发岗职级体系
66 | 结课测试&结束语
登录 后留言

全部留言(5)

  • 最新
  • 精选
永昌
关于ping请求的入库,是异步延时,那么如果ping频率高的请求,在check的时候,可能还没入库,不就触发了警告了么?

作者回复: 有两个措施防止你说的问题: 1. healthchecks.io对ping的频率有限制,我记得最小粒度是1分钟间隔。 2. check可以设置grace period,也就是允许ping迟到的时间范围。

2020-09-10
1
Geek2808
能否解释一下开放健康检查接口和 ping 检查中心两种方式的优缺点

作者回复: ping一般只能检测简单的存活,开发定制的健康检查端点可以获取更细粒度的健康信息,如SpringBoot支持用户开发定制的健康检查逻辑,可以定制磁盘利用率,数据库连接,缓存连接等更细粒度的健康检查信息。

2021-07-05
邸昆
SaaS的核心点在于多租户,从架构介绍上看没有看到租户隔离的相关设计,从商业的视角付费用户和免费用户使用肯定要隔离开,否则付费的爸爸们不开心。从现在架构介绍上看,基于消息队列可以基于partition打散,减缓一些互相影响的情况,但是不可能无限多partition,还是无法完全避免相互影响。请问老师,针对租户间隔离,租户间影响这块,您有什么好的建议么?

作者回复: SaaS公司开始起步,一般都是一套DB逻辑隔离,简单成本低。到了一定的规模,有钱有人了,可以考虑私有部署物理隔离,这时候成本复杂性也上去了。通常做法是对用户分层,免费和低端用户使用共享的逻辑隔离,中高端付费用户进行私有部署物理隔离。

2020-12-22
姑射仙人
老师,我认为healthchecks不是一个SaaS应用,更像是一个传统的多用户服务端系统。如何理解、定义一个SaaS系统呢?

作者回复: SaaS = Software as a Service,把传统的软件产品,做成多租户通用版,部署在云端提供共享服务的形式,就可以称为SaaS。 healthchecks.io是一个轻量级的SaaS服务,它把对周期性任务(scheduled job)的健康检查,做成了一种云服务,大家可以共用,不需要每个企业再去部署一套。 healthchecks.io属于监控类SaaS产品。同样,sentry.io也是监控类SaaS产品,它把异常日志监控做成了一种云服务。还有auth0.com把企业身份认证做成了云服务,launchdarkly.com把功能开关做成了一种云服务,等等。

2020-09-26
tt
老师,数据库是不是会成为瓶颈?

作者回复: 如果checks数量非常多,DB会成为瓶颈,这个时候有两个办法: 1. 采用类似killbill common queue的sticky polling技术,每个机器只处理本机写入的checks,这样相当于把 checks做了逻辑分组和负载分摊。 2. 对DB进行分片sharding,然后不同的告警检查任务(alert checker)分别处理不同的DB shard,分摊负载。

2020-08-11
收起评论