Author: leelight

[汇总]分布式ID经验 0

[汇总]分布式ID经验

美团(Leaf)分布式ID生成器 ULID – 一种比UUID更好的方案   为什么MySQL不推荐使用uuid或者雪花id作为主键? 时间占用量总体可以打出的效率排名为:auto_key>random_key>uuid 那么使用自增的id就完全没有坏处了吗?并不是,自增id也会存在以下几点问题: ①别人一旦爬取你的数据库,就可以根据数据库的自增id获取到你的业务增长信息,很容易分析出你的经营情况 ②对于高并发的负载,innodb在按主键进行插入的时候会造成明显的锁争用,主键的上界会成为争抢的热点,因为所有的插入都发生在这里,并发插入会导致间隙锁竞争 ③Auto_Increment锁机制会造成自增锁的抢夺,有一定的性能损失 我在项目里用雪花算法搞了唯一ID生成,结果上线就引发了故障 我们猜测是不是服务器上的时钟不同步后,又自动进行同步了,前后时间不一致。      

[转]架构师必须知道的架构设计原则 0

[转]架构师必须知道的架构设计原则

如果一个技术已经存在 2 年,比如现在很火的前端技术 React 和 Vue 等,那么我能预估这个技术大致还有 2 年的生命期,再久就不确定了;如果一个架构或设计原则已经存在 15 年,例如单一职责和依赖倒置原则,我可以预期它还有 15 年甚至更久的生命期。原则是比具体技术更抽象,更接近事物本质,也更经得起时间考验的东西。这些原则沉淀在架构师的脑海中,最终内化成他的 mindset,以潜意识方式影响和指导他的架构和设计工作。

[转]为什么不建议把数据库部署在Docker容器内? 0

[转]为什么不建议把数据库部署在Docker容器内?

近2年Docker非常的火热,各位开发者恨不得把所有的应用、软件都部署在Docker容器中,但是您确定也要把数据库也部署的容器中吗? 这个问题不是子虚乌有,因为在网上能够找到很多各种操作手册和视频教程,小编整理了一些数据库不适合容器化的原因供大家参考,同时也希望大家在使用时能够谨慎一点。 目前为止将数据库容器化是非常不合理的,但是容器化的优点相信各位开发者都尝到了甜头,希望随着技术的发展能够更加完美的解决方案出现。

time_wait特征 0

[转]HttpClient 连接池设置引发的一次雪崩

1. 一. 事件背景 我最近运维了一个网上的实时接口服务,最近经常出现Address already in use (Bind failed)的问题。很明显是一个端口绑定冲突的问题,于是大概排查了一下当前系统的网络连接情况和端口使用情况,发现是有大量time_wait的连接一直占用着端口没释放,导致端口被占满(最高的时候6w+个),因此HttpClient建立连接的时候会出现申请端口冲突的情况。

[汇总]单体转微服务 0

[汇总]单体转微服务

  Self-contained System Each SCS is an autonomous web application. For the SCS’s domain, all data, the logic to process that data and all code to render the web interface is contained within the SCS....

[汇总]日志系统 0

[汇总]日志系统

用了日志系统新贵Loki,ELK突然不香了! ELK不香了!我用Graylog NewRelic 替代ELK:ClickHouse+Kafka+FlieBeat

[汇总]DevOps经验 0

[汇总]DevOps经验

简单脚本监控SSL证书,并到期提醒续签 更高效的SSL证书监控方案 别再用kill -9关闭程序了 通过Vagrant+Hyper-v来构建开发环境 以微博核心业务为例,解读如何仅用1台服务器支持百万DAU DevOps 已死,平台工程才是未来 放弃 Ceph,Salesforce 使用 Apache BookKeeper 在云中实现最强存储   Java Buildpack Memory Calculator 给go项目打最小docker镜像,足足降低99%    

[汇总]构架经验 0

[汇总]构架经验

1. 架构师思维 IT 生涯 | 像架构师一样去思考 架构师角色的演变:从发号施令到与团队合作[好文] 康威定律的影响是一个关键主题:系统的架构反映了组织的结构。 “为什么”这样的提问方式带有评判的味道,例如,“你为什么要采取这种方法”。如果将问题改为“是什么让你决定采用这种方法”,会促使被问者解释他们的想法,而不是为他们的决定辩护,因为当被问及“为什么”时,他们可能会认为自己的决定是不是不正确的。 给架构师: 成为帮助团队架构理解的导师,而不是障碍。公开主动地分享你的知识。 为那些只有你自己感觉到但团队可能没有意识到的挑战寻求指导,来帮助你克服内心的挑战。不要独自承受,支持性的指导有助于你的角色演化。 欢迎来自客户、团队和环境的挑战。这种反馈循环可能会让人感到筋疲力尽,但可以带来巨大的回报。 用你的经验将对话引向你的专业知识告诉你会遇到的挑战。 了解团队的动态、他们的优缺点、他们对工具的掌握,以及他们日复一日地构建应用程序的实际情况。帮助你在正确的时间组织你的输入,在哪里可以带来最大的价值。 成为人际关系的建设者。培养你的软技能,建立起人际网络,从销售团队到产品负责人,从工程经理到技术中小企业。每天都要培养和维护这些关系。 给团队: 为非领域专家总结使用工具的经验,带他们踏上理解之旅。 利用架构师丰富的经验来洞察你可能有的想法、挑战或主意。他们现在是你团队的一员了。 简单明了地表达你的想法、优点和缺点,准备好接受开放性和有挑战性的反馈,构建心理安全感。 把头衔和自负留在门外,拥抱团队环境,向团队里的每一个人学习。在当今的软件设计当中,你对设计过程的影响是真实存在的。 培养你的演讲、沟通和指导技能,并每天使用它们,在快节奏的团队中进行信息交流是至关重要的。 尽你所能留住你的架构师。他们深厚的专业知识对团队的成长和壮大是无价的,不要让他们感到孤立,让他们觉得自己是团队的一部分,是未来解决方案的一部分。     十四年架构师揭秘:要做架构师先要在鸟群中做好鸟 我是如何在阿里做“架构师”的? 我们还需要架构师吗?还需要架构部门吗?我给出的答案是:不需要,因为每个人都应该是架构师。 阿里技术大牛:一份架构师成神路线图! 绝好的的技术整理! 恕我直言,一般像你这种能说会道的技术都不太行 手上有团队,有资源,我要做的是 “找到合适的人,放到合适的位置上”,让每个人发挥各自的所长,而不是我自己再去纠结一些细节。 架构师虽然听起来很高大上,但本质上仍然是工程师,不是忽悠人的江湖骗子。...

Memory/CPU limit in Docker Swarm 0

Memory/CPU limit in Docker Swarm

Running 1,000 Containers in Docker Swarm How to Limit Resources for Docker Swarm Services https://docs.docker.com/config/containers/resource_constraints/ What does –oom-kill-disable do for a Docker container? Unable to use oom-kill-disable configuration Docker Container Resource Management: CPU, RAM...