对于这个问题,可以从以下角度去思考。
我一直在思考, 如何才能做的更好, 有哪些可以借鉴的先进经验. 最近一直在学习Kubernetes(以下简称为K8S), 越了解越感到谷歌的理念先进, K8S的博大精深. 对传统雪崩故障的思考¶¶ 对于传统故障的思考, 也让我愈发觉得K8S的设计之精妙. 以下罗列一些自己的各种散乱的对比: 应用视角¶ 现在都是以应用为核心, 以用户体验为核心. 而在K8S中, 关于快速恢复, 如上文所述, K8S设计之初就考虑到了这一点. 而在K8S中, 通过K8S的一套完整的体系. 总结和反思¶¶ 反思一¶ 通过以上的零散的思考, K8S的出现确实会给正在为到处救火的运维提供一个更好的解决方案. 虽然任何一项新技术的引入, 都会引入新的问题.
计算机的世界变化很快,自从容器和 K8s 登上舞台之后,给原有的 RPC 领域带来了很大的挑战。这个文章主要讲述 RPC 领域遇到的问题,以及 RPC 怎么去拥抱 K8s 怀抱的一些思考。 K8s K8s体系里暂时没有公允的通信框架,一般推荐 gRPC 作为 RPC 框架。 Dubbo + K8s DNS 如果 K8s service 提供了cluster ip ,那么 Dubbo 只负责调用该集群 Ip ,路由和负载均衡的逻辑则交给了 K8s 的 proxy 来完成。 Dubbo和Istio在k8s体系下共存 这个可选择的方案较多,我提供两种思路,供大家思考: 所有的服务注册通过k8s的机制完成,所有的服务发现通过 Headless service 完成。 这个课题的复杂度更加高,心中有了一些答案,期望大家通过上文也有一定的思考。 服务查询 ---- 抛出三种方式,供大家思考。
突然发现了下面这一篇文章,但是着实没有想到一篇文章能牵扯出这么多东西,这篇文章介绍的是由于使用了JDK的线程池引发的一个BUG,牵扯到了GC和方法内联的优化对于代码运行产生的影响,线程池BUG在JDK8中就已经存在但是直到 ❝原文:一个JDK线程池BUG引发的GC机制思考❞ 知识点总结: 这里先说明一下这篇文章的相关知识点直接进行一个总结,如果读者对于相关内容十分熟悉的话这里也不浪费各位的时间,可以直接关闭本文了(哈哈) 环境 JDK版本:代码异常是在 HotSpot java8 (1.8.0_221)模拟情况中出现的(实际上直到jdk11才被正式修复)。 NONONO,软件的领域有一句话说的好,叫做知其然知其所以然,如果我们以为的选择去知其然那么很有可能沦为“代码工具人”而不是一个会认真思考的程序员。 最后,希望这篇文章可以切实的帮到你,学习任何内容一定不要简单的复制粘贴形成惯性和固定思维,而是要广泛阅读和汇总思考不断的纠错和回顾,最后形成的观点才有可能的是正确的,毕竟就连周大神的JVM书籍里也有让读者会误解的知识点
核心伪代码如下: // Handlek8sMigrate 处理 K8s 迁移 func Handlek8sMigrate(r migration.K8sMigrationRequest, k *K8sController = nil { fmt.Println(err) } } // 获取 k8sclient srcK8sClient := k.store.GetK8sClient(r.MigrationData.SrcCluster , r.MigrationData.Env) destK8sClient := k.store.GetK8sClient(r.MigrationData.DestCluster, r.MigrationData.Env 参考链接: Kubernetes多集群管理架构探索 | 徐信钊 KubeSphere Maintainer Kubernetes多集群架构的思考、实践和探索 | 段朦 移动云 混合云下的 Kubernetes K8s 多集群实践思考和探索 | vivo互联网技术:https://mp.weixin.qq.com/s/vztX73tqfrx1r4suDQa9kw karmada官方文档:https://karmada.io
《Data at Work》一书的作者Jorge Camoes在一次演讲中,提出了“数据可视化思考者”这一概念,并分享了他的12个想法。我们从中选取了最具价值的8个,进行了编译。 因此,有追求的数据可视化思考者应当追求成为“杂学家“,而不是局限于对可视化技巧与技能的学习。 俄国新闻机构TASS重新演绎了著名的《拿破仑远征图》。 7、妙用色彩 把色彩当作是数据可视化作品的促进因素,思考它们的强度,功能,还有背后的象征意义。对于非专业设计师来说,可以先考虑数据可视化整体,再考虑配色。 8、超越单图 尝试结构化或图表矩阵,多使用“看板”或“信息图”等表现形式,用图表与文字对数据进行连贯的叙述。在进行探索性分析的时候,“焦点+上下文”的表现形式,往往比“单图+过滤”更好。 copyright@数据观) 数据可视化思考者,以数据可视化为工具,对工作、对企业、对市场、对世界进行思考。 数据观,帮助您踏出成为数据可视化思考者的第一步。
DevOps 起源历史悠久,最早可追溯到 2007年的比利时独立咨询师 Patrick Debois,他当年从事的政府项目时,需要频繁和开发团队,运维团队打交道,遇到了一些列的问题促使其思考如何让协助更加敏捷 减少数据依赖,独立数据方式 - 优点: 隔离性,安全性好 - 缺点:成本大 (硬件,或者软件方案) 如果不考虑硬件共享问题,随着泛化上云的普及,这种方式应该是更偏向完美 方案2 - 优先主要程序隔离(2,8
下面是我思考的两种操作方式: 操作回滚法 在每个操作执行的同时,生成对应的undo,redo方法。 如果发现需要执行更早的操作,那么就先回滚已有晚于新操作时间戳的操作。
比如,给定数字:4、6、8、2,一个可能的解法是:(8 ÷ (4 - 2)) × 6 = 24。 迷你填字游戏 在《24 点数学游戏》和创意写作中,ToT 是比较浅显的 —— 最多需要 3 个思考步骤就能达到最终的输出。研究者将探索 5×5 迷你填字游戏作为有关自然语言的更难一层的搜索问题。
从内思考到外思考的转变 在AI和大模型时代来临后,我将我们个体的思考分为外思考和内思考,即外思考的重点的是面向外在感知的,这种感知包括了文字,语言,视频图片等各种信息的感知摄入。 在AI时代没有来临的时候,我们在思考和问题解决的时候并不会严格的区分外思考和内思考,大家可以自己思考下我们解决问题的过程。 说了这么多,大家就清楚AI时代如何提升独立思考能力了。 即AI时代独立思考能力的提升是将外思考和内思考分离,将面向问题域的思考和面向解决问题的思考分离,然后将内思考转移到AI。 个人思考重心转移到外思考。你个人核心独立思考能力的提升就在于外思考,能否一次性的把问题定义清楚? 类似下图: 为何说快思考+慢思考,内思考+外思考整合后才完成了我们在AI时代的完整思考框架逻辑。在这里进一步说明如下。 对于任何思考来说,都是在解决问题本身的空间和时间的匹配和融合。
遇到问题,有些人能够瞬间给出解决方案,有些人却要很多时间去思考。 这本书可以帮助训练思考力。 本文结构: 1. 方法操作 2. 掌握关键点是什么 3. 其作用背后的原理是什么 ---- 1. 方法操作 什么是零秒思考? A4纸横着, 左上角写下标题,日期,标题下面划横线 横线下面写下你对这个问题思考的答案内容 时间控制在 1 分钟 如果有新的想法,照着上面的步骤继续做。 内容: 对标题的疑问进行回答 一条不要写的太少于20字,督促思考。一句话可以有条件,谁,做什么,产生什么结果等元素。 行数不能太多,4-6行。既深度地思考又挑出了重点。麦肯锡要求是3条。 深入思考就是要进行归纳总结,但很多人一想到归纳总结就会觉得一团糟。 这个方法就是要做到不刻意地进行总结。 相当于清空大脑,把模糊的想法清晰地表达出来。 调动了促进大脑思考和记忆的过程:把想法化成疑问促进思考,回答问题时也是可视化 ?
思考工具,让创新立竿见影 我们也不能坐等灵感乍现。 我们完全可以学习和应用创造性方法和规范性工具引导思考方向,把我们的注意力引导到创造性思考上来。 水平思考的四步思考流程 水平思考是一套思考流程,要求我们按照步骤进行思考,把注意力锁定在一定的方向上,专注而严肃地创造。其步骤主要包括以下四步。 在日常解决问题时,我们习惯凭直觉定义问题,而在后期的思考过程中就很容易走偏方向。水平思考要求我们在一开始就通过定义问题的方法把问题找准,再进行进一步地思考。 之所以这位爱思考的官员把居民们的埋怨当着“跳板”,而想出绝佳的解决办法。这就是水平思考里面最具魅力的创造力工具,激发(在水平思考中称之为“PO”,见图2)。 “水平思考”可以让我们跳出“思考的盒子”,使我们思考得更加丰富多彩、更有质量,让“头脑航行!” 文|王琼:德博诺中国首席讲师 来源:清华管理评论
迷之自信 书中把人类的思考模式拆分成快思考和慢思考(系统1和系统2)两个系统,系统1和系统2并不是真实存在的实体,也不是大脑中某个固定的部位,它们是两种不同的思考模式。 系统1是依赖直觉的、无意识的思考系统,系统2是需要主动控制的、有意识进行的思考系统。系统1是直觉系统,运行起来速度快,不怎么消耗脑力,不用意识控制,可以称为快思考。 系统1的直觉式快思考,也就成为了人们决策和行为的真正主宰。而系统1自身存在的缺陷,容易导致人在思考过程中出现偏见和错误。 这些旁观者会用来自于他们系统2的慢思考,来帮你纠正自己系统1的快思考可能导致的错误。 所以,集体讨论决策虽然会有效率不高的问题,但在很多情况下却还是有意义的,因为它可以启动很多人的慢思考,减少快思考可能带来的偏见与失误。
那么可不可以把虚拟机的原理写成的同一个class文件 转成 各个操作系统的 可执行文件呢?
遇到各种问题要琢磨背后的经验,并把经验不断运用到实践中去 极为重视剖析和界定问题的本质,不断思考一个问题的本质是什么,然后寻找科学的方法解决这个问题 深度思考型学习是在快速变化的环境中,通过洞悉问题本质 ,在另一层次思考时可能反而是负面、有害的策略 解决任何一个问题的有效策略,都可以从经验技巧、方法流程、学科原理和哲学视角四个层次思考追问。 超越答案寻找更底层的思维模型 学习任何一个领域,都应把它看作思考的镜子,我认为这是学习思考最大的价值:学习如何思考。 ,处理起来非常困难,我们需要掌握能够从复杂中洞见结构,找到关键问题,直至要害,而这正是多元思维模型发挥巨大价值的地方 三种复杂问题与对应思考方法 解决更复杂的全局性问题时,我们就需要用系统思考的方法。 这种思维方式,要求把问题放在一个更大的互动系统下来思考处理,这就意味着我们在思考问题时,分析清楚问题所处的层次或维度、在不同时空尺度下展现的特点、每个阶段下关键要素是什么 解决复杂问题的三个关键思维 降维攻击
普元软件产品部技术经理刘相在微服务架构上有很多的实践和思考,InfoQ记者就单体应用迁移到微服务的8个关键问题对他进行了专访,内容涵盖传统单体式架构的挑战、实施微服务架构的铺垫、改造原则、数据库、中间件 除此之外,传统单体式架构遇到的问题还有: 1、团队接手困难 8年前,我曾接手一个100万行级别的项目,那段经历算是一段噩梦:花了3个月的时间通读一遍代码;每次修改代码心惊胆战,修改一个Bug极可能带来各种隐含的缺陷
我写了三个单元块,分别对应三种业务场景 let query; query = (url) => { url=url||"传递的参数为空"; return new Promise((resolve,reject) => { setTimeout(() => { console.log(url); if(true){ resolve("我是promise执行后传递过来的数据");
vue从2.5版本之后开始强化typescript的支持程度,在ide方面增强对visual stadio的支持,更重要的是,双数据绑定那一块,要使用es6的proxy来代替Object.defineProperty(),吓得我赶紧看了一下es6中的proxy,首先代码 let proxy=new Proxy({},{ get:function (target,property) { return 35; } }) let obj=Object.create(proxy);
处理性能提升50% 2.2 高并发下服务稳定性低 问题 在每天上午8:00抢票活动开始时,DB连接池被打满,线程波动大,商品服务超时。 数据库线程波动 思考 DB 连接池为什么会被打满? 排查日志可以看到,8:00活动开始后,大量热门商品信息查询到DB与Select高频查询一致。 3)是DB不稳定影响了API,还是API流量过大影响了DB? 梳理系统架构后发现,由于8:00定时可售通过离线Job控制,8:00商品上线引发数据变更,数据变更导致缓存被刷新(先删后增),在缓存失效瞬间,服务端流量击穿到DB,导致服务端数据库连接池被打满,也就是上文所说的缓存击穿的现象 ,制作应急处理方案; 监控:活动时观察各项监控指标,如有异常,按预案处理; 复盘:活动后分析日志,监控指标,故障分析,持续改进; 本文阐述了在抢票活动中遇到的四个具有代表性的问题,在优化过程中,不断地思考和落地技术细节
java8中很重要的新特性之一:接口方法。 来讨论一下平时使用中可能遇到的问题 2、栗子 大家都知道,在jdk8之后,接口里面咱们都可以写具体的方法了,但这方法比较特殊,只能是静态方法或者默认方法。 加入我们有一个已经投入使用接口需要拓展一个新的方法,在JDK8以前,如果为一个使用的接口增加一个新方法,则我们必须在所有实现类中添加该方法的实现,否则编译会出现异常。 3、使用场景 接口是设计模式中一种开闭原则的体验,而java8赋予了接口新的特性,使得接口使用起来更加的得心应手了,这也有助于我们更加内聚自己的代码结构了。 这个留给大家自己做思考。。。