InfraPub 为您找到相关结果 89

Golang 面试题搜集

](https://github.com/lifei6671/interview-go/blob/master/question/q015.md) - [记一道字节动的算法面试题](https://github.com/lifei6671/interview-go/blob/master/question/q016.md) - [多协程查询切片问题](https://github.com/lifei6671/interview-go/blob/master/question/q017.md) - [对已经关闭的的chan进行读写,会怎么样?为什么?](https://github.com/lifei6671/interview-go/blob/master/question/q018.md...阅读全文

总结系统设计中的33个黄金法则

关。 18. 针对单点故障——实施冗余。 19. 为了容错性和持久性——实施数据复制。 20. 对于用户到用户的快速通信 — 使用 Websockets。 21. 分布式系统中的故障检测——实现心。 22. 数据完整性——使用校验和算法。 23. 高效的服务器扩展——一致性哈希。 24. 去中心化数据传输——考虑 Gossip 协议。 25. 基于位置的功能 — 使用四叉树、Geohash 等。 26. 避免特定的技术名称 — 使用通用术语。 27. 高可用性和一致性的权衡——最终一致性。 28. 对于IP解析和域名查询——DNS。 29. 处理网络请求中的大数据——实施分页。 30. 缓存删除策略 — 首选...阅读全文

ChaosMesh 的基本功能有哪些

。IOChaos:模拟具体某个应用的文件 I/O 故障,例如 I/O 延迟、读写失败。TimeChaos:模拟时间动异常。KernelChaos:模拟内核故障,例如应用内存分配异常。平台类型故障:AWSChaos:模拟 AWS 平台故障,例如 AWS 节点重启。GCPChaos:模拟 GCP 平台故障,例如 GCP 节点重启。应用层故障:JVMChaos:模拟 JVM 应用故障,例如函数调用延迟。混沌实验场景​混沌实验场景由一组混沌实验和应用状态检查组成,旨在帮助用户在平台上实现混沌工程闭环。用户运行混沌场景,可以通过一系列的混沌实验,不断地扩大爆炸半径(包括攻击范围)和增加故障类型。运行混沌实验后,用户可以方便地检查当前的应用状态,判断是否需要进行后续混沌实验。同时用户可以不断地迭代混沌实验场景,积累...阅读全文

Raspbian 国内软件源列表

/archlinuxarm/ 华南农业大学(华南用户) Raspbian http://mirrors.scau.edu.cn/raspbian/ 大连东软信息学院源(北方用户) Raspbian http://mirrors.neusoft.edu.cn/raspbian/raspbian/ 重庆大学源(中西部用户) Raspbian http://mirrors.cqu.edu.cn/Raspbian/raspbian/ 中山大学 已转至中国科学技术大学源 Raspbian http://mirror.sysu.edu.cn/raspbian/raspbian/ 新加坡国立大学 Raspbian http://mirror.nus.edu.sg/raspbian/raspbian 牛津大学 Raspbian...阅读全文

Manjaro Linux的两项大胆举措

的 Manjaro 一直在致力于使 Arch Linux 变得对用户友好,随着新公司的创建,这方面的能力应该会有所提升。 Manjaro 的另一项重要举措包含在前阵子发布的 18.1 版本 “Juhraya” 中,该版本中的办公文档可以自行选择。系统中预装了 LibreOffice,但是用户可以在安装过程中选择德国软件开发商 SoftMaker 的免费 Office 套件 FreeOffice 2018,或仍然使用 LibreOffice,甚至可以过安装任何 Office 套件。 FreeOffice 套件面向那些重视与 Microsoft Office 无缝兼容的用户,它本身使用当前的 Microsoft 文件格式 DOCX、XLSX 和 PPTX。由于 Manjaro 社区的需求...阅读全文

博文 2019-10-05 16:24:38 debian.cn

Gitlab CI 配置文件 .gitlab

: 1 week dependencies GitLab 8.6 和 GitLab RUnner v1.1.1引入。 这个功能应该与artifacts一起使用,并允许定义在不同jobs之间传递artifacts。 注意:所有之前的stages都是默认设置通过。 如果要使用此功能,应该在上下文的job中定义dependencies,并且列出之前都已经通过的jobs和可下载的artifacts。你只能在当前执行的stages前定义jobs。你如果在当前stages或者后续的stages中定义了jobs,它将会报错。可以通过定义一个空数组是当前job过下载artifacts。 在接下来的例子中,我们定义两个带artifacts的jobs,build:osx和build:linux。当test:osx...阅读全文

博文 2018-12-12 21:09:02 ci.yaml 详解(下)

最全 MongoDB 基础教程

Skip方法 Limit() 方法 在MongoDB中读取指定数量的数据记录, 使用MongoDB的Limit方法 limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数 语法 db.COLLECTION_NAME.find().limit(NUMBER) 案例 db.ruochen.find().limit(2) Skip() 方法 skip()方法过指定数量的数据 skip方法接受一个数字参数作为过的记录条数 语法 db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER) 案例 db.ruochen.find().limit(1).skip(1) skip() 方法默认参数为0 MongoDB 排序 sort() 方法...阅读全文

博文 2021-02-22 07:45:45 OSChina

3个 Linux 命令让你看起来很忙:摸鱼的技巧

如果你看过谍战片、动作片或犯罪电影,你就会在脑海中勾勒出黑客坐在电脑屏幕前的样子:一行行快速移动的代码,大量的矩阵中的十六进制数字代码像雨水一样飞过。也许有一张世界地图,上面有一些发光点和一些快速更新的图表,也许还会有三维几何图形。如果可能的话,这一切还可以显示在多个显示器上面。 当然,我们这些技术人员很快意识到这完全是胡说八道。虽然我们中的许多人都有双显示器(或更多),但闪烁的数据通常与专注于工作这一目的背道而驰。编写代码、管理项目和管理系统与股交易不同。我们遇到的大多数情况都需要我们对试图解决的问题进行大量思考,与利益相关者进行良好的沟通,进行一些研究以及组织信息,然后还有占工作量很少的快速打字。 但这并不意味着我们不想和电影中的黑客一样。有时,我们只是想让自己看起来“有效率”。 旁...阅读全文

博文 2019-09-28 15:48:43 debian.cn

7 个月猛涨 12 亿美元,开源技术服务商成北欧最新独角兽 - OSCHINA

OpenXuantie 的多操作系统(AliOS、FreeRTOS、RT-Thread、Linux、Android 等)的... 28 10 阿里发布自研 CPU 芯片倚天 710 10 月19 日,2021 云栖大会现场,阿里巴巴旗下半导体公司平头哥发布自研云芯片倚天 710。该芯片是业界性能最强的 ARM 服务器芯片,性能超过业界标杆 20%,能效比提升 50% 以上。倚天 710 是阿里云推进「一云多芯」策略的重要一步,也是阿里第一颗为云而生的 CPU 芯片,将在阿里云数据中心部署应用。 和 2019 年发布的 AI... 31 5 GitLab 正式在纳斯达克上市,市值接近 150 亿美元 GitLab 周四正式在在纳斯达克上市,股代码为 "GTLB"。据了解,GitLab 周三晚些时候将其 IPO...阅读全文

博文 2021-10-21 20:04:43 中文开源技术交流社区

Debian下编译安装Golang

拉下来,非常耗时;在GitHub连接不稳定时,也可能会失败。这属于网络问题,读者也需自行解决。 按时间顺序,这里记录了一些相关的坑。如果想直接按照正确的步骤完成编译,可以到环境配置小节。 首次编译错误 Go不支持在根目录下编译,必须到src目录去。 $ cd src $ ./all.bash ##### Building Go bootstrap tool. cmd/dist ERROR: Cannot find ~/go1.4/bin/go. Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4. 我本来就是因为只有Go1.3,才要从源码安装新版本的。现在找我要Go1.4,这可如何是好? 自举 Go从1.5版本开始实现“自举...阅读全文

博文 2021-01-28 17:50:16 debian.cn

兼容 tmux 的文件上传/下载工具 trzsz ( trz / tsz ) 使用指南 支持进度条和目录传输

择合适的缓冲区大小,但不会超过此上限。-t 超时时间trz -t 30 或 tsz -t 30 xxx 等,设置超时秒数 ( 默认 20 秒 )。在超时时间内,如果无法传完一个缓冲区大小的数据则会报错并退出。设置为 0 或负数,则永不超时。异常处理方法如果 tmux 不是运行在远程服务器上,而是运行在本地电脑上,或者运行在中间的板机上。方案1:使用 tmux -CC 与 iTerm2 集成,请参考 iTerm2 与 tmux -CC 集成。方案2:在本地电脑上安装 trzsz-go,设置 alias ssh="trzsz ssh" 可以方便使用。如果出现了错误,且 trzsz 挂住不能动了:按组合键 control + c 可以停止服务器上的 trz 或 tsz 进程。对于 iTerm2...阅读全文

Apollo 配置中心简单介绍

(命名空间) 一个应用下不同配置的分组,可以简单地把namespace类比为文件,不同类型的配置存放在不同的文件中,如数据库配置文件,rpc配置文件,应用自身的配置文件等应用可以直接读取到公共组件的配置namespace,如DAL,RPC等应用也可以通过继承公共组件的配置namespace来对公共组件的配置做调整,如DAL的初始数据库连接数 4.2 自定义Cluster 【本节内容仅对应用需要对不同集群应用不同配置才需要,如没有相关需求,可以过本节】 比如我们有应用在A数据中心和B数据中心都有部署,那么如果希望两个数据中心的配置不一样的话,我们可以通过新建cluster来解决。 4.2.1 新建Cluster 新建Cluster只有项目的管理员才有权限,管理员可以在页面左侧看到“添加集群”按...阅读全文

博文 2021-04-09 17:53:51 CSDN

Kubernetes 1.7:安全加固、有状态应用更新等

智能仓库打造分布式数据中心。可以这里查看他们完整的实施方案。 是否 Kubernetes 也帮助了你们的团队?欢迎同社区分享你们的故事。同时可以翻阅我们不断增加的用户场景分析,并从伟大的公司如 Box 学习如何在机构中采用 Kubernetes。 获取 Kubernetes 1.7 可以在 Github上下载。要开始上手Kubernetes,可以尝试使用互动式教程。 参与 欢迎参加本年12月6号至8号在Austin举办的CloudNativeCon 和 KubeCon,这将是有史以来最大的 Kubernetes 聚会。演讲提案直到8月21日前都是开放的,在10月6日前购都有折扣。 参与最简单的方式是加入符合你兴趣的特别兴趣小组。是否有想同 Kubernetes 社区说的话?快来参加每周一次...阅读全文

博文 2021-01-28 17:50:35 debian.cn

如何在 Debian 上添加和删除用户

户: sudo adduser sammy 一旦执行该命令,您将看到一些输出,后面是一系列提示,要求您为新用户分配和确认密码。然后,系统会要求您输入有关新用户的任何其他信息。这是完全可选的,可以通过碰撞过ENTER ,如果你不希望将信息输入到这些领域。 最后,系统会要求您确认您提供的信息是否正确。输入Y继续。整个过程看起来像这样: OutputAdding user `sammy' ... Adding new group `sammy' (1001) ... Adding new user `sammy' (1001) with group `sammy' ... Creating home directory `/home/<^>sammy' ... Copying files...阅读全文

博文 2021-01-28 17:50:21 debian.cn

Terraform 学习总结 — Terraform 简介

能生成相关图表的数据(dot 格式的数据),我们通过 dot 命令来生成可视化的图表,先通过下面的命令安装 dot 程序: $ sudo apt install graphviz 然后生成一个图表: $ terraform graph | dot -Tsvg > graph.svg 上图描述了我们通过 azurerm 驱动创建了一个 Resource Group。 使用 apply 命令完成部署操作 在使用 apply 命令执行实际的部署时,默认会先执行 plan 命令并进入交互模式等待用户确认操作,我们已经执行过 plan 命令了,所以可以使用 -auto-approve 选项过这些步骤直接执行部署操作: $ terraform apply -auto-approve 到 Azure 站...阅读全文

Hadoop 核心 - HDFS 分布式文件系统详解

> 作用: 将hdfs上的文件从原路径移动到目标路径(移动之后文件删除),该命令不能跨文件系统 hdfs dfs -mv /dir1/bigdata.txt /dir2 rm 格式: hdfs dfs -rm [-r] 【-skipTrash】 URI 【URI 。。。】 作用: 删除参数指定的文件,参数可以有多个。 此命令只删除文件和非空目录。 如果指定-skipTrash选项,那么在回收站可用的情况下,该选项将过回收站而直接删除文件; 否则,在回收站可用时,在HDFS Shell 中执行此命令,会将文件暂时放到回收站中。 hdfs dfs -rm -r /dir1 cp 格式: hdfs dfs -cp URI [URI ...] 作用: 将文件拷贝到目标路径中。如果...阅读全文

Gitlab CI 配置文件 .gitlab

不同的stages。jobs在相同的stage时会parallel同时进行。查阅stages更多的用法请查看stages。 only and except only和except是两个参数用分支策略来限制jobs构建: only定义哪些分支和标签的git项目将会被job执行。 except定义哪些分支和标签的git项目将不会被job执行。 下面是refs策略的使用规则: only和except可同时使用。如果only和except在一个job配置中同时存在,则以only为准,过except(从下面示例中得出)。 only和except可以使用正则表达式。 only和except允许使用特殊的关键字:branches,tags和triggers。 only和except允许使用指定仓库地址但...阅读全文

博文 2018-12-12 21:01:19 ci.yaml 详解(上)

OpenAI掌门人Sam Altman:AI的下一个发展阶段_OneFlow

来源|Greylock OneFlow社区编译 翻译|胡燕君、贾川 预告了一整年的GPT-4迟迟没来,人们猜想OpenAI是不是要了,更何况他们之前的得意之作DALL-E也被开源Stable Diffusion打了个措手不及,再不来点深水炸弹业界地位危矣。 不过,就在大家以为今年OpenAI将以沉寂收场时,聊天机器人模型ChatGPT横空出世,让人们看到了AI的更大创造力,聚光灯也再度打到了OpenAI的身上。 今年9月,LinkedIn联合创始人Reid Hoffman与OpenAI首席执行官Sam Altman进行了一场对话,而肩负着宏伟使命且极富远见的Altman就曾预言:AI即将迎来下一个发展阶段。如今,大型语言模型越来越先进,也出现了可以实现文本-图像相互转换的多模态模型,一...阅读全文

博文 2023-02-04 15:55:11 CSDN博客

成功运作一个开源项目的15个要点

每个人适用同样的规则(环境可能是公平的,因此你需要用自己的方法胜出)。英才制度意味着你需要用自己的方式脱颖而出。有些项目实施英才制度,例如,在邀请开发者加入项目团队之前,通过要求他们作出一些贡献,以表明他们了解项目的代码、规则和文化。确保增加新的开发人员到项目中的过程是众所周知的,并且这些流程是透明的(例如公开投)。 5、供应商中立 为了实现真正的开放,开发者需要大家认可他们的贡献。如果项目是供应商中立的,那么这更容易实现。供应商中立的项目不由任何组织或机构主导;英才制度应以个人的贡献为基础,不能基于任何特定组织的目标或招聘方法。在供应商中立的基础上托管是实现此目标的一种方式。 6、有良好的定义和文件标准 文档化项目的代码格式规则(使代码格式化预设易于访问),对测试覆盖面、开发方法、软件和...阅读全文

博文 2017-11-08 09:58:28 debian.cn

成为Debian社区维护人需要做好的准备

:Debian 项目里一些名词的含义 1. Maintainer: 泛指软件包维护人员,包括 Debian Developer (DD)、Debian Maintainers (DM) 和 Sponsored maintainers。 2. Debian Developer (DD): 又称 Debian Member,官方 Debian 开发人员,是 Debian 项目的正式成员。能直接上传到 Debian 的任意仓库,有大部分服务器的登陆帐号,有在全项目内选举、投和提出议案的权利。 3. Debian Maintainer (DM): DM 是一部分能够直接上传某些特定软件包的开发人员,是打包人员通向正式 Debian Developer 的必经之路。 3. Sponsored...阅读全文

五款流行开源的 HIDS 系统简单介绍

复杂的。一旦它的安装,你需要启动数据库,你可以轻松地开始你的支。如果您需要一个集成良好的Linux入侵检测系统,则开源Triptrip可能是您的最佳选择,但它有一些限制。例如,它不会实时通知您,因此您需要自己查看日志。您还需要在安装操作系统后进行安装,以使其在安装之前不会检测到恶意活动。以下屏幕快照除了其他指示之外,还说明了每个规则和安全级别。​图23. WazuhWazuh是另一个用于完整性监视,事件响应和合规性的开源监视解决方案。撰写本文时,最新版本为3.8.2。如前所述,您可能会在网上看到Wazuh与OSSEC的比较,但这不仅是因为相似的目的,而且是一个共同的起源。Wazuh最初是OSSEC的分支,并且如官方文档所示,它的构建具有更高的可靠性和可伸缩性。除了执行日志分析,完整性检查...阅读全文

博文 2023-01-26 11:07:43 joseph

什么是线程安全,以及并发需要知道的几个概念

。比如它的线程优先级太低,而高优先级的线程不断抢占它所需的资源,导致低优先级资源无法工作。 3、活锁的情况是线程一种非常有趣的情况,在生活中我们可能会碰到这样的情况,那就是出门的时候可能会遇到有人要进门,你打算让他先进门,他又打算让你先出门,结果,两个人都互相退后了,然后你打算先出门时对方也向前一步,来来回回就一直卡在门口。当然,这种事情正常人很快就能解决,但如果是线程碰到就没那么幸运了。 如果两个线程占用着公共的资源,并且秉承着 “谦让” 的原则,主动把资源让给他人使用,你让我也让,这样就造成资源在两个线程间不断动但线程之间都拿不到资源的情况,这样的情况就是活锁了。 线程安全 线程安全指的是多线程的安全。如果一段程序可以保证被多线程访问后仍能保持正确性,那么程序就是线程安全的。一般来说,线...阅读全文

博文 2018-12-31 20:44:06 debian.cn

利用 NAT VPS 进行流量中转

过 iptables 实现 IP 端口数据包转发服务配置关于 NAT VPS 的使用说明NAT VPS 的正确食用方式NAT VPS 主机端口转发(流量中转)教程国内中转高性价比方案:NAT VPS + iptables 端口流量转发通过国内服务器转发流量Ubuntu UFW 防火墙设置Setup a Shadowsocks relay在 Azure 搭建 ShadowSocks 国内板,并开启 UDP 转发UFW Essentials: Common Firewall Rules and CommandsHow To Setup a Firewall with UFW on an Ubuntu and Debian Cloud ServerConfigure Uncomplicated...阅读全文

博文 2021-03-11 21:16:11 Silearner

Ceph 12.2.0 正式版本发布, 代号 Luminous

) FreeBSD的Ceph的第一个版本可用。通过常规FreeBSD端口和软件包发布系统,最新可用版本:net/ceph-devel。 在 Jewel(v10.2.z)版本上进行的重要修改 RADOS 现在默认为AsyncMessenger (ms type = async)的传统SimpleMessenger。最明显的区别是 我们现在使用固定大小的线程池进行网络连接(而不是使用SimpleMessenger,一个socket两个线程)。 优化OSD故障检测时间,而以前的心超时(默认为20秒)。 优化OSDMaps的代码量。 集群在进行重平衡/数据恢复时,OSD会停止Scrub。 RGW RGW现在支持S3多对象复制API。 现在可以离线重塑现有的分支。离线目前,桶重塑要求所有IO(特别是写入)到特定的桶...阅读全文

博文 2017-08-31 13:36:49 debian.cn

六大算法之三:动态规划【转载】

。 public static int solutionFibonacci(int n){ if(n==0){ return 0; }else if(n == 1){ return 1; }else{ int result[] = new int[n+1]; result[0] = 0; result[1] = 1; for(int i=2;i<=n;i++){ result[i] = result[i-1] + result[i-2]; } return result[n]; } 与之类似的还有:台阶问题:每次只能一个或者两个台阶,到n层台阶上有几种方法 填充长方体问题:将一个2*1的长方体填充到2*n的长方体中,有多少种方法 2、数组最大不连续递增子序列 arr...阅读全文

博文 2021-07-31 07:18:53 CSDN博客

Web前端知识体系精简

认为缓存已经过期(可能缓存还没有过期),在请求中加上字段:Cache-Control:max-age=0,发包向服务器查询是否有文件是否有更新。 强制刷新页面(Ctrl+F5),浏览器会直接忽略本地的缓存(有缓存也会认为本地没有缓存),在请求中加上字段:Cache-Control:no-cache(或 Pragma:no-cache),发包向服务重新拉取文件。 6、History操作 用户访问网页的历史记录通常会被保存在一个类似于栈的对象中,即history对象,点击返回就出栈,下一页就入栈。 它提供了以下方法来操作页面的前进和后退: window.history.back() 返回到上一个页面 window.history.forward() 进入到下一个页面...阅读全文

博文 2021-01-28 17:50:33 debian.cn

Debian 相比 Ubuntu 有哪些不同之处

,Debian似乎很成熟老练,但是讨论仍有时变成一场混战。过去,Debian被被描述成是一种对女性不友好的环境;而近来,将init换成systemd方面的争论变得非常激烈,结果好几个资深开发人员选择走人,而不是忍受虐待。 与此同时,Debian奉行精英民主,所有官方维护人员投表决Debian领导者及其他所有议题。虽然被任命的岗位有时是权力来源,但是Debian工作人员普遍推行的领导方式还是提建议和实行民主,而不是直接发号施令。 Ubuntu有别于Debian的地方在于,Ubuntu为社区活动制定了行为规范。时至今日,Ubuntu的社区管理员是Jono Bacon,他写过一本书,介绍《社区之道》,还投入了大量的精力来消除冲突。此外,每年都会选择技术委员会(Technical Board)和社区理事会...阅读全文

博文 2017-12-22 23:41:07 debian.cn

一位五年工作经验架构师的感悟

过去而蹉跎;不要羡慕别人现在的生活;不要羡慕陈冠希,长得帅,女朋友交的多。你明明没有别人找的帅,不努力,你就是天天守着电脑看看片。说不定那天你去创个业,成功了,然后的然后,你想想然后的然后。。。 所以,不为过去蹉跎,活在当下,把握当下。 找到你的追求,然后就去追求 首先,我这里没有使用信念。信念,可能太重了。尤其对于中国人而言,信仰普遍都是缺失的,很难一直相信、坚信一件事。 第二,很多人,不知道自己想要什么,想去追求什么。所以一直不知道,该怎么去改变,该怎么去追求。 我是为了追求钱? 其实我不追求钱,当然我不是圣人,我家里不富裕,就是从农村出来的,我结婚的时候没有自己的房子(谢谢妻子),我还有很多东西没有买。我需要钱,但是不是为了钱而工作,工作这么多年,没有询问过加薪,没有为了加薪而槽(当...阅读全文

博文 2021-01-28 17:50:31 debian.cn

大起底:揭开亚马逊云计算丰厚利润的秘密 - 电子商务

%。瑞银分析师表示,AWS软件市场的运营利润率应该远远高于AWS大约30%的水平。在报告中,瑞银对亚马逊股给出了买入评级。不过和老牌的EC2和S3相比,市场平台业务规模还很小。分析师预测,软件市场业务未来的营收可能达到每年10亿美元到20亿美元之间,这相当于亚马逊云计算2020年总收入的3%。访问:京东商城...阅读全文

博文 2021-09-07 11:41:54 cnBeta.COM

王垠:如何掌握所有的程序语言

存 比 DDR2 的快这么多,SSD 比磁盘快很多,ATI 的显卡是垃圾…… 如此等等。 程序语言也是一样的道理。对于初学者来说,其实没必要纠结到底要先学哪一种语言,再学哪一种。曾经有人给我发信问这种问题,纠结了好几个星期,结果一个语言都还没开始学。有这纠结的时间,其实都可以把他纠结过的语言全部掌握了。 初学者往往不理解,每一种语言里面必然有一套“通用”的特性。比如变量,函数,整数和浮点数运算,等等。这些是每个通用程序语言里面都必须有的,一个都不能少。你只要通过“某种语言”学会了这些特性,掌握这些特性的根本概念,就能随时把这些知识应用到任何其它语言。你为此投入的时间基本不会浪费。所以初学者纠结要“先学哪种语言”,这种时间花的很不值得,还不如随便挑一个语言,进去。 如果你不能用一种语言里面的...阅读全文

博文 2017-07-10 10:13:17 debian.cn

7大维度看国外企业为啥选择gRPC打造高性能微服务

,基于RESTful API的工具。 不幸的是,这感觉就像试图将简单的方法调用变成一个数据驱动的RESTful界面。这满足了RESTful接口的verb,header,URL标识符,资源的URL和有效载荷的神奇组合,并做了一个清洁,简单,看起来几乎不可能实现的功能界面。RESTful有很多规则和解释,在大多数情况下会导致REST ish接口,这需要花费额外的时间和精力来保持其纯度。 最终,考虑到RESTAPI的复杂性,我们找到了替代方案。希望微服务尽可能相互隔离,减少交互和解耦服务。它可以让企业在很短的时间内创造出一个可行的服务,并防止过hoops。 评估REST的替代方案 不要轻易选择通信框架。大型组织(如Netflix)可以拥有超过500+个微服务的后端系统。迁移这些服务以取代不充分的服...阅读全文

博文 2018-03-19 17:51:32 debian.cn

Sam Altman的成功学|OneFlow

样,比如说资本、技术、品牌、网络效应和做管理。 专注于将你所定义的成功指标增加十倍是有用的,这些指标可以是赚钱、社会地位、世界级影响力或者其他东西。我乐意接受挑战,愿意在各种项目上花时间以解锁下一个项目。但是我希望在每一个项目上都能取得最大成就,创造职业生涯新高度。 但是大多数人都被困于线性发展的泥潭,往往捡了芝麻丢了西瓜,我们要学会抓大放小,寻求跃式提升。 在我看来,无论是企业还是个人,最大的竞争优势就是要把目光放长远。我们要打开眼界,看出世界上不同体系之间交融互动的方式。复合增长最重要的就是眼光要尽可能放长远,这样的人才能抢占市场先机,获得最大回报。 要相信指数曲线,耐心坚持下去,最后一定会有惊喜。 2 要有绝对自信 自信拥有不可思议的力量,就我认识的人来说,最成功的往往都是那些自信到...阅读全文

得物云原生全链路追踪Trace2.0-采集篇 - OSCHINA

开源的 Pinpoint,近几年 Uber 公司开源的 Jaeger,以及我们国内吴晟开源的 SkyWalking。 有人说,这些其实都归功于 Google 在 2010 年基于其内部大规模分布式链路追踪系统 Dapper 实践而发表的论文,它的设计理念是一切分布式调用链追踪系统的始祖,但其实早在二十年前(2002年),当年世界上最大的电商平台 eBay 就已拥有了调用链追踪系统 CAL(Centralized Application Logging)。2011 年,原eBay的中国研发中心的资深架构师吴其敏槽至大众点评,并且深入吸收消化了 CAL 的设计思想,主导研发并开源了CAT(Centralized Application Tracking)。 CAT 作为国人主导的开源系统,其本...阅读全文

博文 2022-12-10 06:50:41 中文开源技术交流社区

深度解密基于 eBPF 的 Kubernetes 问题排查全景图

get everything on the same page)。因此,在可观测性平台产品设计上需要以指标、链路、日志为基本,向外集成阿里云自家的各类云服务,同时也支持开源产品数据接入,将关键上下文信息关联起来,方便不同背景的工程师理解,进而加速问题排查。信息没有有效地组织就会产生理解成本,信息粒度上以事件->指标->链路->日志由粗到细地组织到一个页面中,方便下钻,不需要多个系统来回转,从而提供一致体验。​那么具体怎么关联呢?信息怎么组织呢?主要从两方面来看:1、端到端:展开说就是应用到应用,服务到服务,Kubernetes 的标准化和关注点分离,各自开发运维各自关注各自领域,那么端到端的监测很多时候成了”三不管“区域,出现问题的时候很难排查链路上哪个环节出了问题。因此从端到端的角度来看,两...阅读全文

博文 2022-03-21 09:11:51 joseph

HTTP状态码详解

向用户展示响应中包含的实体信息,因为这个实体信息中可能包含了相关诊断信息。参见RFC 2617。 402 该状态码是为了将来可能的需求而预留的。 403 服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。如果这不是一个 HEAD 请求,而且服务器希望能够讲清楚为何请求不能被执行,那么就应该在实体内描述拒绝的原因。当然服务器也可以返回一个404响应,假如它不希望让客户端获得任何信息。 404 请求失败,请求所希望得到的资源未被在服务器上发现。没有信息能够告诉用户这个状况到底是暂时的还是永久的。假如服务器知道情况的话,应当使用410状态码来告知旧资源因为某些内部的配置机制问题,已经永久的不可用,而且没有任何可以转的地址。404...阅读全文

博文 2021-01-28 17:50:11 debian.cn

kubectl 创建 Pod 背后到底发生了什么?—探寻 Kubectl 创建 Pod 的原理

回给客户端。 原来 apiserver 做了这么多的工作,以前竟然没有发现呢!到目前为止,我们创建的 Deployment 资源已经保存到了 etcd 中,但 apiserver 仍然看不到它。 4. 初始化 在一个资源对象被持久化到数据存储之后,apiserver 还无法完全看到或调度它,在此之前还要执行一系列Initializers。Initializers是一种与资源类型相关联的控制器,它会在资源对外可用之前执行某些逻辑。如果某个资源类型没有Initializers,就会过此初始化步骤立即使资源对外可见。 正如大佬的博客指出的那样,Initializers是一个强大的功能,因为它允许我们执行通用引导操作。例如: 将代理边车容器注入到暴露 80 端口的 Pod 中,或者加上特定的...阅读全文

博文 2022-04-18 16:18:04 CSDN

最全的 DevOps 工具集合

用于应用程序性能监视(APM)的软件分析产品,可提供有关 Web 应用程序性能以及最终用户体验满意度的实时和趋势数据。 Prometheus Prometheus 是用于事件监视和警报的免费软件应用程序。它将实时指标记录在一个时间序列数据库中,该数据库使用 HTTP 拉取模型构建,支持灵活查询和实时警报。 Prometheus 服务器的工作方式是抓取,也就是调用监视器上配置的各个节点的指标端点。它定期收集这些指标并将其存储在本地。节点在 Prometheus 服务器抓取的端点上公开这些指标。 Zipkin Zipkin 是一个分布式跟踪系统。它能收集用来解决服务架构中延迟问题所需的时序数据。其功能包括收集和查找这类数据。 如果日志文件中有跟踪 ID,则你可以直接至该跟踪 ID。否则,你可以...阅读全文

博文 2021-05-26 14:35:21 博客园

Redis 命令、特性介绍与性能调优

Redis的主从复制功能本身只是做数据同步,并不提供监控和自动failover能力,要通过主从复制功能来实现Redis的高可用,还需要引入一个组件:Redis Sentinel Redis Sentinel是Redis官方开发的监控组件,可以监控Redis实例的状态,通过Master节点自动发现Slave节点,并在监测到Master节点失效时选举出一个新的Master,并向所有Redis实例推送新的主从配置。 Redis Sentinel需要至少部署3个实例才能形成选举关系。 关键配置: sentinel monitor mymaster 127.0.0.1 6379 2 #Master实例的IP、端口,以及选举需要的赞成数 sentinel down-after-milliseconds...阅读全文

博文 2018-10-27 10:37:55 debian.cn

HAProxy用法详解 最详细中文文档

global option httpclose option logasap #不等待响应结束就记录日志,表示提前记录日志,一般日志会记录响应时长,此不记录响应时长 option dontlognull #不记录空信息 capture request header Host len 20 #记录请求首部的前20个字符 capture request header Referer len 60 #referer转引用,就是上一级 default_backend servers frontend healthcheck bind :1099 #定义外部检测机制 mode http option httpclose option forwardfor default_backend servers...阅读全文

博文 2014-05-10 17:14:46 debian.cn