自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 短链接系统设计

限流。防止恶意用户发送超量请求,对服务器造成压力。web服务器扩展。采用无状态设计,以便于水平扩展。数据库扩展。采用数据库复制和分片技术。流量分析。分析链接的点击次数,时间段等信息。可用性,一致性,可靠性。是否可以实现一对多?一对多表示一条长网址可以生成多个短网址,这样方便做流量统计,比如发布到不同的网站时使用不同的短网址,就可以统计出来自各个网站的流量。

2023-12-02 20:33:29 882 1

原创 分布式限流系统

整个服务集群的资源是有极限的,如果在某一时刻服务集群的访问量超出阈值,系统资源不能支撑超出预期的突发流量时,应当对突发流量进行一些取舍,建立起面对超额流量的自我保护机制,这个机制就是“限流”。

2023-12-02 19:09:48 748 1

原创 C++协程调度模块

当你有很多协程时,如何把这些协程都消耗掉,这就是协程调度。在前面的协程模块中,对于每个协程,都需要用户手动调用协程的resume方法将协程运行起来,然后等协程运行结束并返回,再运行下一个协程。这种运行协程的方式其实是用户自己在挑选协程执行,相当于用户在充当调度器,显然不够灵活.引入协程调度后,则可以先创建一个协程调度器,然后把这些要调度的协程传递给调度器,由调度器负责把这些协程一个一个消耗掉。

2023-12-02 11:30:46 896

原创 C++协程模块设计

最简单的理解,可以将协程当成一种看起来花里胡哨,并且使用起来也花里胡哨的函数。每个协程在创建时都会指定一个入口函数,这点可以类比线程。协程的本质就是函数和函数运行状态的组合。协程和函数的不同之处是,函数一旦被调用,只能从头开始执行,直到函数执行结束退出,而协程则可以执行到一半就退出(称为yield),但此时协程并未真正结束,只是暂时让出CPU执行权,在后面适当的时机协程可以重新恢复运行(称为resume),在这段时间里其他的协程可以获得CPU并运行,所以协程也称为轻量级线程。

2023-12-01 21:33:17 800

原创 C++日志模块设计

用于格式化输出程序日志,方便从日志中定位程序运行过程中出现的问题。这里的日志除了日志内容本身之外,还应该包括文件名/行号,时间戳,线程/协程号,模块名称,日志级别等额外信息,甚至在打印致命的日志时,还应该附加程序的栈回溯信息,以便于分析和排查问题。

2023-12-01 21:22:46 1031 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除