技术阅读周刊第十四期:Golang 作者 Rob Pike 在 GopherConAU 上的分享

news2024/11/19 18:26:00

ae749ca5046129bb9af23dfeed148709.png

技术阅读周刊,每周更新。

历史更新

  • 20231215:第十期

  • 20231122:第十一期

  • 20231129:第十二期

  • 20240105:第十三期:一些提高生产力的终端命令

What We Got Right, What We Got Wrong

URL: https://commandcenter.blogspot.com/2024/01/what-we-got-right-what-we-got-wrong.html?utm_source=changelog-news

本文是 Golang 核心作者之一  Rob Pike 去年底在澳大利亚 GopherConAU 会议上的分享;总结了 Go 语言 14 年来的做对了哪些事情、做错了哪些事情。

cb312367fc5bb66d618a0eb12c633498.png

主要包括:

  • 语言涉及

  • 社区管理

  • 项目运营 等方面,感兴趣的还可以看油管视频。https://www.youtube.com/watch?v=yE5Tpp2BSGw

Top 10 Platform Engineering Tools You Should Consider in 2024 | by Romaric Philogène | Jan, 2024 | Medium

URL: https://medium.com/@rphilogene/top-10-platform-engineering-tools-you-should-consider-in-2024-892e6e211b859c03eff03e0bfd13ca37599c9148814c.png

本文介绍了作为一个平台工程师需要掌握的工具。

先定义了什么是平台工程师:为研发人员提供平台资源进行开发,让开发人员可以在云环境中自助完成整个软件生命周期的各个环节,比如基础环境搭建、代码 pipelines、监控等。

以下是会用到的工具:

  • kubernetes:这个就不用多讲了。

  • Crossplane:用于管理多集群的 kubernetes

  • Qovery:内部开发者平台

  • Github/Gitlab CI/CD

  • ArgoCD:kubernetes 原生提供的持续部署工具。

  • Docker

  • Terraform:基础设施自动化工具,可以通过声明式配置文件实现多云基础设施的部署和管理。

  • Datadog:监控和日志分析平台,当然也可以使用 Prometheus/Grafana 等

Load Balancing Algorithms Explained Visually

URL: https://blog.quastor.org/p/load-balancing-algorithms-explained-visually?utm_source=tldrwebdev

本文介绍了一些负载均衡算法以及其优缺点。

64ee5c28b040812d0a957ea4f8387ea9.gif
Round Robin_1.gif
  1. 轮询算法(Round Robin):每个请求按顺序分配到不同服务器。实现简单,但不能考虑服务器负载情况。

  2. 加权轮询(Weighted Round Robin):考虑服务器性能给各服务器设置权重,请求分配按权重比例进行。仍然不能实时反应服务器负载变化。

  3. 最少连接数(Least Connections):实时监测各服务器连接数,将请求分配到连接数最少的服务器上。实现较复杂,需要定期探测各服务器状态。

  4. 最短响应时间(Least Response Time):监测各服务器响应时间,分配给响应最快的服务器。

  5. 双随机选择(Power of Two Choices):随机选择两台服务器,将请求分配给负载较轻的一台。减少监测开销。

  6. 一致哈希(Consistent Hashing):根据请求关键信息计算哈希值,将请求分配给对应的机器范围。解决主机添加和删除问题。

  7. 其他算法如根据磁盘、内存利用率进行负载分配等。

What problem did Go actually solve for Google

URL: https://www.reddit.com/r/golang/comments/176b5pn/what_problem_did_go_actually_solve_for_google/

这是一个 Reddit 上的帖子,OP 的问题是 Rob 在之前的分享中提到 Golang 创建的原因是要解决 Google 内部的问题,但没有具体讲  Google 到底遇到了什么问题?什么问题是几百种编程语言都无法解决的问题?

以下是一些高赞回答:

  • 更快的本地编译速度

  • 对新手来说更好理解的代码

  • 更严格的代码风格,使得大家的代码都差不多。

  • 更容易编写并发程序

总体来说, Go 主要解决的是在大型分布式系统中如何更高效地进行协作开发、实现高性能又易维护。这正是 Google 当时最关心的问题。

文章链接:

  • https://commandcenter.blogspot.com/2024/01/what-we-got-right-what-we-got-wrong.html?utm_source=changelog-news

  • https://medium.com/@rphilogene/top-10-platform-engineering-tools-you-should-consider-in-2024-892e6e211b85

  • https://blog.quastor.org/p/load-balancing-algorithms-explained-visually?utm_source=tldrwebdev

PS:最近也在更新视频号,也会有一些技术干货,动动小手帮主播点播关注fc17114efbff11b9bdc9a553492722bc.jpeg

ac4060d0357982424197a006d868fbec.jpeg

往期推荐

请注意,你的 Pulsar 集群可能有删除数据的风险

Pulsar3.0新功能介绍

Pulsar3.0 升级指北

如何给开源项目发起提案

e745aacd092e2cfbcf6f9060dc3de5bf.gif

点分享

1e9615a4bd3e0109eef97dac4938328f.gif

点收藏

150af203d4b9af81e3f0d99de5bff9b8.gif

点点赞

b0ce3c2e2403d04089ead35a1ad9c9b1.gif

点在看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1384484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

玩转 openEuler (一)-- 系统安装

简介 openEuler 是一款开源操作系统。当前 openEuler 内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等…

羊驼2:开放的基础和微调聊天模型--Llama 2论文阅读

论文地址:https://arxiv.org/pdf/2307.09288.pdfd 代码地址:GitHub - facebookresearch/llama-recipes: Examples and recipes for Llama 2 model 问答 用了多少个gpu? 这篇文档中使用了3.3M GPU小时的计算,使用的硬件类型是A…

3万字数据结构与算法学习笔记+知识点总结

文章目录 数据结构与算法排序排序算法常见排序算法复杂度冒泡排序(Bubble Sort)选择排序(Selection Sort)插入排序(Insertion Sort)希尔排序(Shell Sort)堆排序(Heap Sor…

Microsoft Edge如何安装插件去广告

打开enge浏览器,点击这里 选择扩展 点击打开Microsoft Edge网站 点击搜索栏,输入广告拦截,之后点击键盘的Enter键 点击获取就可以了。如果你喜欢其他的插件,也可以在里面搜索并且下载

文献阅读:Large Language Models as Optimizers

文献阅读:Large Language Models as Optimizers 1. 文章简介2. 方法介绍 1. OPRO框架说明2. Demo验证 1. 线性回归问题2. 旅行推销员问题(TSP问题) 3. Prompt Optimizer 3. 实验考察 & 结论 1. 实验设置2. 基础实验结果 1. GSM8K2. BBH3.…

MyBatis的配置及简单使用

1.配置myBatis 1.myBatis的作用 MyBatis 是一个开源的持久层框架,它的主要作用是简化数据库操作,使得开发者能够更方便地与数据库进行交互。 MyBatis 允许开发者使用简单的 XML 或注解配置 SQL 映射,从而实现数据库操作,而不需要…

解决“win11无法识别U盘“问题

在15.6寸笔记本上插上U盘,有时候出现U盘无法识别的现象,出现这种问题的原因有许多,比如U盘的格式不被当前电脑支持、电脑的USB接口电压过低、没有安装U盘驱动等等。     若是U盘格式不支持,则把U盘改成电脑能够识别的格式&#…

C++I/O流——(4)文件输入/输出(第一节)

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 含泪播种的人一定能含笑收获&#xff…

Fiddler工具 — 13.AutoResponder应用场景

简单介绍几个应用场景: 场景一:生产环境的请求重定向到本地文件,验证结果。 例如:某网站或者系统修改了问题,但尚未更新到生产环境,可重定向到本地修改后的文件进行验证,这样能够避免更新到生产…

maven管理使用

maven基本使用 一、简介二、配置文件三、项目结构maven基本标签实践(例子) 四、pom插件配置五、热部署六、maven 外部手动加载jar打包方式Maven上传私服或者本地 一、简介 基于Ant 的构建工具,Ant 有的功能Maven 都有,额外添加了其他功能.本地仓库:计算机中一个文件夹,自己定义…

鸿蒙Harmony-层叠布局(Stack)详解

我们总是为了太多遥不可及的东西去拼命,却忘了人生真正的幸福不过是灯火阑珊处的温暖,柴米油盐的充实,人生无论你赚的钱,是多还是少,经历的事情是好还是坏,都不如过好当下的每一天! 目录 一&am…

5.2 Android BCC环境搭建(adeb版,下)

五,运行adeb shell adeb shell 其实这个配置比较简单,也就是5.1中的第三节“adeb prepare --full“和该节的”adeb shell",就可以连接我们的android设备,在android设备中或执行bcc工具,来对我们的android环境进行hook了。 六,其他指令 6.1 从开发机移除adeb adeb…

顶级Web应用程序测试工具列表

今天主要列举Web应用程序的工具。 今天的列表仅仅提供索引功能,具体要使用的同学,可以自行搜索哦。 通过web应用程序测试,在web应用程序公开发布之前,会发现网站功能、安全性、可访问性、可用性、兼容性和性能等问题。 Web应用程…

繁花的范总-UMLChina建模知识竞赛第5赛季第3轮

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 参考潘加宇在《软件方法》和UMLChina公众号文章中发表的内容作答。在本文下留言回答。 只要最先答对前3题,即可获得本轮优胜。 如果有第4题,第4题为附加题&am…

基于SSM的法律咨询系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

代码随想录 Leetcode242. 有效的字母异位词

题目&#xff1a; 代码&#xff08;首刷看解析 2024年1月14日&#xff09;&#xff1a; class Solution { public:bool isAnagram(string s, string t) {int hash[26] {0};for(int i 0; i < s.size(); i) {hash[s[i] - a];}for(int i 0; i < t.size(); i) {hash[t[i]…

第十六章 i18n国际化

第十六章 i18n国际化 1.什么是i18n国际化2.i18n国际化三要素介绍3.i18n国际化基础示例4.通过请求头实现国际化5.通过语言类型选择实现国际化6.通过JSTL标签库fmt实现国际化 1.什么是i18n国际化 2.i18n国际化三要素介绍 3.i18n国际化基础示例 如果我要准备一个国际化的信息&…

Windows10下 tensorflow-gpu 配置

越来越多的的人入坑机器学习&#xff0c;深度学习&#xff0c;tensorflow 作为目前十分流行又强大的一个框架&#xff0c;自然会有越来越多的新人&#xff08;我也刚入门&#xff09;准备使用&#xff0c;一般装的都是 CPU 版的 tensorflow&#xff0c;然而使用 GPU 跑 tensorf…

初始化数组

一、静态初始化格式&#xff1a; 数据类型[ ] 数组名 new 数据类型[ ]{元素1&#xff0c;元素2&#xff0c;元素3......} 等号后面的new 数据类型可以省略 注意&#xff1a;什么类型的数组只能存放什么类型的数据 直接打印a或b会显示其地址 数组的元素个数&#xff1a;arr…

【JAVA】哪些集合类是线程安全的

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;JAVA ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 Vector&#xff1a; HashTable&#xff1a; Collections.synchronizedList()、Collections.synchronizedSet()、Collections.syn…