首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/285598

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

分布式ID生成器的剖析与设计

ID是身份标识,你所涉及的每类业务都会有一个,身份证, 手机号, QQ号。那么问题来了,如何设计一个算法,能快速生成ID又能有效地避免冲突。往小了说,在存储领域每一行数据都会有一个ID,关系型数据库有 auto increment, 非关系型数据库,如mongodb有自己的objectID 算法。对于各种ID我们可以简化为2类:1.去中心化,统一长度,规则占坑类, mongodb属于这一类, guid 属于这类类。2.中心化,ID自增,auto increment属于这一类。 mongodb id mongodb的ID规则 长度(byte) 含义 4 unix epoch到当前的秒数 3 机器标识 2 进程标识 3 扩展计数 机器标识可以防止不同机器出现相同ID, 进程标识则可以在同一台机器上防止出现冲突。对于这种设计, 我想说 good! 无论是单机还是

高性能服务器的分布式设计

何为高性能服务器 服务器分类 目前的高性能服务器,大家耳熟能详的有很多,这里对通用的做了分类:http服务器:nginx, apachejava http容器:tomcat, jettyjava 服务器框架: jetty, mina 其中nginx/apache/tomcat已被用于各大在线业务,按各使用场景来看功能,可概览如下: 也可将这些功能分为基本与扩展。基本功能:请求过滤,静态处理,长短连接,规则配置,动态容器,内容压缩。扩展功能:负载均衡,反向代理, 容器。 为什么需要扩展功能 概括一些,基本功能可以被视为静态功能,扩展功能可被视为动态功能,所以问题被理解为为什么需要动态功能。我们拿一个视频服务器来看,其需要具备哪些功能。 网页静态模板, 用户模块, 视频分发等。 静态服务器仅仅满足了静态模板的功能, 用户模块的鉴权与视频分发才是重

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。