随笔分类 -  软件工程

上一页 1 ··· 4 5 6 7 8 9 10 下一页
摘要:2020 年,很多技术人可能都已经迷醉在了微服务的成功故事中,但现实很骨感,微服务也不是“灵丹妙药”。本文想给现阶段“狂热”的微服务泼泼冷水、降降温,也许你就会发现,你并不是真的需要微服务。 2020 年,如果再讲什么是微服务,已经落伍了,毕竟微服务的成功故事已经开始在业界广为流传了。但是你真的需要微服务吗? “真的需要微服务吗?”这个想法已经困扰我很长一段时间了,最近我与多位技术人进行了沟通,也许我们可以从解决一个有趣的问题,开始入手。“什么是微服务?我们的解决方案应该遵循这种架构吗?” 阅读全文
posted @ 2022-11-04 23:33 古道轻风 阅读(145) 评论(0) 推荐(2) 编辑
摘要:热度已经过了,但还是觉得有必要从架构设计的角度来讨论一下此事。并用以往我的经验来设计一套负载能力更好一些的系统。 先说一下基本的架构思路: 最大限度的避免计算,静态化 不用数据库,更新类操作使用APPEND模式的文本文件 流程最短,最好是客户端访问的第一台服务器就能完成全部工作 善用CDN 客户端负 阅读全文
posted @ 2022-11-03 08:42 古道轻风 阅读(274) 评论(0) 推荐(2) 编辑
摘要:什么是分布式锁?对于这个问题,相信很多同学是既熟悉又陌生。随着分布式系统的快速发展与广泛应用,针对共享资源的互斥访问也成为了很多业务必须要面对的需求,这个场景下人们通常会引入分布式锁来解决问题。我们通常会使用怎么样的分布锁服务呢?有开源的 MySQL,Redis,ZooKeeper,Etcd 等三方组件可供选择,当然也有集团内自研的 Tair,Nuwa 等分布式锁服务提供方。 分布式锁的业务需求、场景看起来比较简单,但是事实上我们在使用分布式锁过程中,总还是会提出这样、那样的新需求,看起来找不到一个分布式锁场景的大一统的解决方案。那么,分布式锁内部究竟是怎么实现的?或者说应该怎么实现呢?这个是我们这篇文章希望探讨的,也希望我们的探讨能够让读者朋友对分布式锁的原理有一定了解,在做技术选型的时候,也能够有更多的指导。 阅读全文
posted @ 2022-10-26 13:20 古道轻风 阅读(245) 评论(0) 推荐(0) 编辑
摘要:应用集成是解决各个系统之间信息共享中最基础和最重要的一步。我国的商业银行都拥有繁多、复杂的应用系统,重复开发的情况严重,而且不能很好地跨系统共享数据或功能,不利于金融创新能力的提升。本文主要介绍了应用集成的发展阶段,和如何运用集成技术与方式解决系统的烟囱问题,以及相比较之下的优点与局限性。还请各路专家批评指正:) 本文适合系统集成人员、应用开发人员或接口组人员阅读,能扩展一定知识面、实现个人技术&业务能力的沉淀和提升、从而设计出更好的集成解决方案。在实际工作中,会遇到各种各样的问题,对开展工作的方式方法或套路还在梳理中,暂不做介绍。 此文的输出源于在工作中的一些思考、经查阅资料后而得出的总结,文章内容不代表公司观点。在文末有列出参考资料,方便对某个分支感兴趣的同学,自行深入学习。同时也希望和更多的朋友一起探讨和分享,或直接在留言区说说你的看法,一起成长。 阅读全文
posted @ 2022-10-13 08:24 古道轻风 阅读(512) 评论(0) 推荐(0) 编辑
摘要:就像我们经常所说的:没有最好的架构,只有最合适的架构。一个好的架构师,可以根据具体的需求、所拥有的资源等因素综合考虑而设计出最优的架构方案。特别是现在,业务的飞速变化、数据无处不在等这些因素的影响下,技术和框架也需要在变化的过程中不断地打磨和提升以适应新的业务需要。可能当时是最好的架构,但是后来我们还是要跟着业务的变化去做改进。这并不是一件坏事情,我们只要做好应对变化的准备即可。 阅读全文
posted @ 2022-10-12 16:00 古道轻风 阅读(271) 评论(0) 推荐(0) 编辑
摘要:关于架构师的成长之路,还存在着一个误区,就是把架构师默认为软件架构师。因为今天我们所遇到的架构师,大多数都是围绕着软件研发。事实上这个认识有一定的片面性。诚然,现今我们所构建的系统都是软件系统,但是在实际的工作过程中,随着信息技术在深度和广度上的快速发展,除了软件研发以外,测试、网络、安全、配置、系统和数据都已经形成了具有自己独特专业知识和经验的领域,也都需要各个领域的架构师。比如信息安全是一个非常专业的领域,要软件架构师无法完全理解和驾驭信息安全是勉为其难。网络架构师日常研究的各种网络问题,软件架构师也难以置喙,因为这是完全不同的两个领域。数据方面亦如此,能够把整个公司业务数据之间的关联性了然于胸的人,一个公司或许能有一两个,这种人就是数据架构师。现实的情况是,软件架构师占据主导地位,基本上掩盖了其他领域架构师的光芒。当然出现今天这种情况的主要原因也是因为大部分的技术领导者也都是来源于研发领域。这种状态要尽快改变,否则在运维、安全、数据、测试等其他领域工程师很难有自己的成长空间。 阅读全文
posted @ 2022-10-12 10:42 古道轻风 阅读(288) 评论(0) 推荐(0) 编辑
摘要:平时听到一些同学说技术方案没什么深度,很难讲出来,怎么去体现技术方案设计的深度是大家普遍关心的一个问题,这个问题不是个例问题,因此分享下自己的一些观点和看法。主要从三个部分来讲: 第一部分主要分析为什么技术方案没有体现出深度,找到问题后就好解决,并提出技术方案的广度和深度特征; 第二部分是技术方案设计的方法论,主要包括了本质论、矛盾论、系统论、演进论四个方法论,构成一个闭环反馈链路; 第三部分是通过具体的案例,反复运用第二部分的方法论阐述在实例的案例中如何去应用,加深对方法论的理解。 阅读全文
posted @ 2022-10-10 13:23 古道轻风 阅读(341) 评论(0) 推荐(0) 编辑
摘要:高级程序员是一名犯过其领域内所有可能犯到的错误的专家。 如果按照工作经验对软件开发人员进行分类,可能是这样的: 初级:2-3 年工作经验 高级:10 年以上工作经验 中级:介于初级和高级之间 这种按工作年限的分类存在一个问题。那就是:它对软件开发的质量只字未提。在工作的那些年里你到底获得了多少经验和技能?这正是面对开发人员的求职和面试如此复杂的原因。度量技能是很困难的,所以我们在面试中给开发人员进行了很多有难度的测试。但这些测试充其量也只是了解一个大概,无法度量其究竟具备多少完成该项工作所需的经验或专业技能。 阅读全文
posted @ 2022-10-10 08:32 古道轻风 阅读(346) 评论(0) 推荐(0) 编辑
摘要:导读:成为一名架构师可能是很多开发者的技术追求之一。那么如何理解架构?架构师是一个什么样的角色,需要具备什么样的能力?在架构师的道路上,会面临哪些挑战?本文作者道延分享他对架构以及架构师的思考和相关实践,希望对同学们有所启发。 阅读全文
posted @ 2022-10-09 22:24 古道轻风 阅读(211) 评论(0) 推荐(0) 编辑
摘要:导读:作为一个技术TL(Team Leader),除了自身技能,还会面临诸多团队管理上的困难和挑战。如何定义和明确团队的目标?怎样建立优秀的工程文化?让团队长期发挥战斗力和创新能力的核心是什么?本文作者基于四年的团队管理经验,分享他在招聘、目标管理、团队沟通和工程文化等方面的思考与总结,介绍相关的经验方法,并推荐几本关于体验、思考的书籍。希望对同学们有所启发。 阅读全文
posted @ 2022-10-09 22:23 古道轻风 阅读(310) 评论(0) 推荐(0) 编辑
摘要:本文详细介绍了我国银行核心系统的定义、位置与边界,发展历程、更换核心系统的原因,以及新核心建设的五大模式与其特点对比。希望内容能够帮助银行科技从业者建立起对银行核心系统的整体认知,提供一定积极的指导作用与借鉴意义,从而引发思考并促进行业交流与探讨,共同为我国的银行科技蓬勃发展贡献自己的智慧与经验。 在这里,特别要感谢张广老师,对我国银行核心系统的发展历程部分进行了完善和补充,特别是关于目前业内流行的分布式微服务组建模式,学到很多。希望后续有更多的小伙伴来分享自己的见解或想法,一起思维碰撞,探索更多可能…… 阅读全文
posted @ 2022-10-09 21:35 古道轻风 阅读(1310) 评论(1) 推荐(0) 编辑
摘要:技术传播的价值,不仅仅体现在通过商业化产品和开源项目来缩短我们构建应用的路径,加速业务的上线速率,也体现在优秀工程师在工作效率提升、产品性能优化和用户体验改善等经验方面的分享,以提高我们的专业能力。本文作者阿里巴巴技术专家三画,分享了自己和团队在画好架构图方面的理念和经验,首发于阿里内部技术分享平台,梓敬、鹏升和余乐对此文亦有贡献。 阅读全文
posted @ 2022-10-01 22:07 古道轻风 阅读(641) 评论(0) 推荐(0) 编辑
摘要:在我看来并不是MVC的基础上增加领域层,使用充血模型,解耦基础服务,我的代码就符合DDD了。 为什么要使用DDD? DDD分为战略部分跟战术部分,相信大家都认同DDD的核心在战略而非战术。而战略方面的核心我认为在业务建模,领域划分、统一语言等都在为业务建模服务。 为什么业务建模重要? 以前的开发流程有什么问题? 先说结论,开发人员交付的程序对业务方,产品人员,测试人员来说就是一个黑盒子。除了开发人员自己,没人知道盒子里有什么。当新的需求加入来,需求方,产品人员,甚至测试人员都认为可行,开发人员却给出相反结论。 阅读全文
posted @ 2022-09-22 08:44 古道轻风 阅读(257) 评论(0) 推荐(0) 编辑
摘要:本文的重点在于说明工作中所使用的设计模式,为了能够更好的理解设计模式,首先简单介绍一下业务场景。使用设计模式,可以简化代码、提高扩展性、可维护性和复用性。有哪些设计模式,这里就不再介绍了,网上很多,本文只介绍所用到设计模式。 阅读全文
posted @ 2022-09-20 08:47 古道轻风 阅读(80) 评论(0) 推荐(0) 编辑
摘要:上个月我写的一篇文章《关于技术能力的思考和总结》引起了大家的关注,好多读者的评论“以写代想、以想促真、以讲验真”,大家的感受很深刻,基于上次的文章,这篇文章我其实更想跟大家聊聊一些常用的思考方法,思考问题的方式对了,往往可以帮助大家少走弯路。 阅读全文
posted @ 2022-09-19 18:17 古道轻风 阅读(231) 评论(0) 推荐(0) 编辑
摘要:安全是产品的底座,是体验的基础,也是企业的一项核心竞争力。安全生产是一项系统性的工作,同时也是一件比较琐碎的事,需要做方方面面的考虑尽一切可能保障系统安全稳定运行。个人之前一直负责商品的稳定性工作,在这方面有比较多的经历和实践。 记得在18年的时候,我们做商品发布的组件化改造,当时正好碰上网站刚开始类目调整,一度连续3个月每个月都有故障,当时稳定性的压力很大。当然那也是一个契机,商品的稳定性建设也是从那个时候开始起步,然后逐步的完善。 阅读全文
posted @ 2022-09-15 13:20 古道轻风 阅读(317) 评论(0) 推荐(0) 编辑
摘要:内卷告诉我们,表面的精细、复杂、讲究不等于高级,更不等于先进,那只是一种自欺欺人的假象,一种黑暗中无知的消耗,一种悲哀的精神寄托。只有跳出圈圈,站在更高层次上的不断向外突破、创新和创造,才能不让那种精致的、繁复的、看起来特别敬业的内卷化状态困扰我们,才能回归到向上勃发的新常态上来。 明白了内卷的含义,大家便可以有意识地避免陷入内卷,减少内卷造成的浪费和伤害。 阅读全文
posted @ 2022-09-11 16:01 古道轻风 阅读(327) 评论(2) 推荐(2) 编辑
摘要:弹性伸缩是云计算时代给我们带来的一项核心技术红利,但是 IT 的世界中,没有一个系统功能可以不假思索的应用到所有的场景中。这篇文章,我们将应用企业级分布式应用服务-EDAS 的客户在进行系统架构设计时,在弹性场景下遇到的点滴做了一个系统的梳理,总结为五个条件和六个教训分享给大家。 阅读全文
posted @ 2022-09-04 20:18 古道轻风 阅读(160) 评论(0) 推荐(0) 编辑
摘要:Serverless 架构将成为未来云计算领域重要的技术架构,将会被更多的业务所采纳。进一步深究,Serverless 架构在什么场景下有优秀的表现,在什么场景下可能表现得并不是很理想呢?或者说,有哪些场景更适合 Serverless 架构呢? 阅读全文
posted @ 2022-09-01 10:52 古道轻风 阅读(663) 评论(0) 推荐(0) 编辑
摘要:我从 1999 年就开始了编程生涯,到今年已经有 20 多年了。我先是从 Basic 开始,很快转到了 Pascal 和 C 语言,然后又学习了面向对象编程语言 Delphi 和 C++。2006 年,我开始使用 Java,2011 年开始使用 JavaScript。我参与过各个行业的软件开发,从机器人、金融科技、医疗到媒体和通信。我还担任过研究员、CTO、TPM(技术产品经理)、老师、系统架构师和技术负责人,但不管怎样,我一直都在编程。 在我参与过的项目当中,有些为数百万人提供服务,有些在发布之前就宣告失败。我做过咨询顾问,还创办过自己的公司。我在开源项目、闭源项目和内部开源项目上花了很多时间,从微控制器到移动应用、桌面应用,再到云服务和无服务器架构。 阅读全文
posted @ 2022-08-24 18:01 古道轻风 阅读(169) 评论(0) 推荐(1) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 下一页
点击右上角即可分享
微信分享提示