Debian 爱好者社区 为您找到相关结果 718

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

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

岗位需求: CTO

CTO 招聘需求 ** 职位介绍:** 1. 全面负责技术层面的整体运营,制定研发战略和计划,负责全面实施,并与业务发展需求. 系统现状等结合起来; 2. 全面支平台日常安全运营. 系统维护. 升级,确保公司各项投融资业务能在网站上安全. 有序开展,保障系统和数据的安全. 稳定; 3. 负责平台的研发与核心技术管理工作,组织制定和实施重大技术决策和技术方案; 4. 研究决策网站技术发展路线,规划公司产品的技术构架,负责互联网产品技术框架的选型与搭建,程序开发及技术攻坚; 5. 网站的技术团队的梯队化建设及管理,包括技术团队的培养; 6. 主导公司技术架构. 数据库结构. 业务逻辑等编码工作; 7. 负责制定技术开发规范. 编码规范等技术团队...阅读全文

Docker更名Moby,也是无奈之举

、containerd、InfraKit以及最新刚刚发布的LinuxKit)当中拆分出来,仍然导致人们很难对容器技术及命令行中的奥秘进行深入探索,更遑论弄清各活动部件间的彼此关联。 对于Moby的误解,部分源自该公司决定直接将访问者重新定向至Docker客户端的GitHub库(用于保留Docker客户端的开源代码),但却未对此举作出任何解释。 GitHub连接问题的出现进一步扩大了对Docker项目凭空“消失”的误会。Docker公司技术人员PatrickChanezon表示,GitHub更换代理商造成了一系列技术性问题,可能需要GitHub方面的支人员介入并加以解决。 Docker公司联合创始人兼CTO SolomonHykes在他的pull请求中对目前的状况给出了非常简单的答案:“Docker公司正在将所...阅读全文

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

使用 nvme-cli 工具来了解你的 NVMe 驱动器

0L2QEXD7我有一个名为 nvme0n1 的驱动器。它列出了序列号、品牌、容量、固件版本等等。通过使用 id-ctrl 子命令,你可以得到更多关于该硬盘和它所支的特性的信息:$ sudo nvme id-ctrl /dev/nvme0n1NVME Identify Controller:vid : 0x144dssvid : 0x144dsn : S42GMY9M141281mn : SAMSUNG MZVLB256HAHQ-000L7fr : 0L2QEXD7rab : 2ieee : 002538cmic : 0mdts : 9cntlid : 0x4ver : 0x10200rtd3r : 0x186a0rtd3e : 0x7a1200[...]驱动器健康你可以通过 smart-log 子命令...阅读全文

博文 2021-09-26 15:12:24 joseph

Linux 进程 PID 编号最大为多少

整理本文,起源是看到知乎上的一个问题,为什么Linux的进程pid编号极限最大值( process pid max)是131070? 问题中提到,通过提问者的测试(Ubuntu18.04操作系统下),Python脚本实现的分配进行pid脚本,渠道系统自动分配给进程的最大pid值是131070,这是一个并不特殊的值。(通常可以想到的上限会是与二进制数字相关,例如1024,65536等等)。 很高兴,看到还是有很多人在坚知乎的本来精神,先问是不是,再问为什么。 Linux 内核的进程 PID 最大值并非 131070,而是 32768 (32 位系统)和 2 的 22 次方(64 位系统)。这是Linux手册中明确给出的说明: /proc/sys/kernel/pid_max (since...阅读全文

博文 2021-01-12 11:47:15 debian.cn

Scrapy 架构及数据流图简介

URL的类。 每个spider负责处理一个特定(或一些)网站。 Item Pipeline Item Pipeline负责处理被spider提取出来的item。典型的处理有清理、 验证及久化(例如存取到数据库中)。 下载器中间件(Downloader middlewares) 下载器中间件是在引擎及下载器之间的特定钩子(specific hook),处理Downloader传递给引擎的response。 其提供了一个简便的机制,通过插入自定义代码来扩展Scrapy功能。 Spider中间件(Spider middlewares) Spider中间件是在引擎及Spider之间的特定钩子(specific hook),处理spider的输入(response)和输出(items及requests...阅读全文

博文 2017-07-23 22:56:26 debian.cn

以太网技术联盟宣布800千兆以太网规格

的大目标是制定800Gbase-R规范(base-R表示当前媒体上的当前标准系列,base-T和base-C表示前几代)。 与以前的以太网迭代一样,许多技术将被重用和开发。800Bbase-R规范(或800gbe)需要对媒体访问控制(MAC)和物理编码子层(pc)进行新的定义。这些将从 IEEE 802.3bs 标准中 400GbE 的现有规范中重新定义,重新定义为在8条 106gbps 信道上工作。为了兼容性,规范中的其他部分(如前向错误控制)保不变。 RobStone等技术工作组主席说:“这项工作的目的是尽可能重新利用标准的400GbE逻辑,以创建一个800GbE的MAC和PC规范,从而为实施多速率以太网端口的用户提供最低的开销成本。”...阅读全文

博文 2020-04-12 15:10:55 debian.cn

Kubernetes调度算法浅析

给每个节点和待分配的pod进行打分。1.首先可用的node和pod会被打分函数进行打分,分数在0-10分之间。并且每个打分函数还有一个权重值。那么一个可用的node节点最后的总分就是:Σ函数打分*函数的权重值。 node节点总分 =(函数1的打分 * 函数1权重值)+......+(函数n的打分 * 函数n的权重值) 2.打分函数即优先级函数的种类: 这里只介绍了一部分的优先级函数算法,还有许多算法在这里未解释有兴趣的小伙伴可以上网查一下哦。 小结 kube-scheduler组件将整个集群资源调配变得很科学。比如该如何分配pod的副本到其他的node节点中,或者如何分配pod使得集群运转的更加高效。此外kube-scheduler还支第三方的调度器进行扩展,所以是一种插件化的实现。...阅读全文

博文 2020-12-20 11:01:10 debian.cn

Saltstack极高危漏洞: 可获取master权限

节点。 修复方案: 将 saltstack 版本更新至最新版本添加ACL控制,禁止其他用户访问salt-master的4505、4506端口。将 saltstack 部署在内网中,目前saltstack的对于身份验证和鉴权还不足以安全的将其暴露在公网 漏洞爆出后,saltstack催促用户尽快应用 saltstack 官方推荐的加固方案 。如果你不想看英文,可参考以下要点: 系统的安全设置 1. 限制可以登录到salt-master的人员 2. 登录salt-master通过ssh密钥登录,并在密钥中添加密码验证 3. 妥善保管好你的ssh私钥 4. 通过堡垒机或者VPN来登录salt-master 5. 限制对外暴露的端口的数量 6. 保系统补丁更新 7. 将安全提高到高优先级列表中...阅读全文

博文 2020-05-05 18:32:44 debian.cn

Go 泛型草案更新,明年8月Go 1.17引入

作为约束(constraints)使用时,可被允许包含类型列表。在旧版的设计草案中,类型列表属于 contracts 的功能。更复杂的情况将使用参数化的 interface 类型. 为了帮助决定如何进一步完善设计草案,团队还发布了翻译工具。此工具可用于类型检查,以及运行使用设计草案中描述的泛型版本编写的代码。它通过将泛型代码翻译为普通的 Go 代码来工作。此翻译过程有一定的局限性,不过团队主要是希望借此让大家对 Go 泛型的整体有所了解。如果泛型最终被吸纳,它们的实际实现可能会有所不同。 此工具已在 Go playground 的变体上提供,这个 playground 的工作方式与常见的 Go playground 相同,不过前者支泛型代码。团队希望此工具能为 Go 用户提供尝试使用泛型的...阅读全文

博文 2020-06-23 07:40:34 debian.cn

如何重启 Kubernetes 中的 Pods

{namespace} 这个方法简单粗暴有效。因为 Kubernetes 是声明式 API,所以删掉了之后,Pod API 对象就与预期的不一致了,便会自动重新创建 Pod 保与预期一致。但是如果ReplicaSet 管理的 Pod 对象很多的话,那么要一个个手动删除,会很麻烦,所以可以使用命令来删除 ReplicaSet, kubectl delete replicaset {rs_name} -n {namespace} 由于 Deployment 对象并不是直接操控的 Pod 对象,而是操控的 ReplicaSet 对象,而 ReplicaSet 对象就是由副本数目的定义和Pod 模板组成,所以我们也可以通过调整 ReplicaSet 的数量来实现重启,比如先 scale 到 0,然后再 scale...阅读全文

博文 2020-07-13 21:23:30 debian.cn

2017 年会是 Serverless 爆发之年吗

大量数据的功能,例如搜索这类应用,我们不需要运行一个专用服务,而是通过 FaaS 模块,通过 API Gateway 对 HTTP 访问提供响应。这样可以使得客户端和服务端都从同一个数据库中读取相关数据。由于原始服务使用 Java 开发,AWS Lambda(FaaS 提供者)支 Java 功能,因此可以直接从服务端将代码移植到搜索功能,而不用重写代码。 最后,可以将其他功能用另外一个 FaaS 功能取代,因为安全原因放在服务端还不如在客户端重新实现,当然前端还是 API Gateway。 常见的 Serverless 框架介绍 Amazon 的 Lambda 产品 2014 年 11 月 14 日,AWS 发布了 AWS Lambda。AWS Lambda 是市面上最早,也是最为成熟的...阅读全文

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

WebAssembly:无需容器的 Docker (下)

host_alias=wasm32-musl-wasi \ --target=wasm32-wasi target_alias=wasm32-musl-wasi \ ${PHP_CONFIGURE} || exit 1 ... make -j ${MAKE_TARGETS} || exit 1 WASI 是一项正在进行的工作,许多 POSIX 调用仍然不能在它之上实现。 因此,要构建 PHP,我们必须在原始代码库之上应用多个补丁。我们在上面看到输出二进制文件会转到 build-output/php/php-7.4.32。 在下面的示例中,我们将使用专门为 WasmEdge 构建的 php-wasmedge 二进制文件,因为它提供服务端 socket 支,服务端 socket 支还不是 WASI 的一部分...阅读全文

博文 2023-01-03 06:39:46 spider

Debian Jessie、Stretch 下安装配置 PHP7.2

Surý 是 Debian PHP 软件源的官方维护者之一,所以说稳定性和安全性基本上不是问题。软件源安装的 PHP 默认以 Unix Socket 的状态运行在 /run/php/php7.2-fpm.sock,比使用 TCP 以 localhost:9000 的方式性能更好。 由于 PHP7.2 是新出的版本势必有不少的兼容性问题,我们建议等待开发者通知兼容PHP-7.2后,再进行升级,一些 PECL 扩展可能也不会及时适配该最新版。建议在你的网站业务低峰时段更新,并提前做好备份,以及回退的准备。Debian.cn 使用的是 WordPress 4.9 ,已支 PHP7.2。 添加软件源 添加 GPG wget -O /etc/apt/trusted.gpg.d/php.gpg https...阅读全文

博文 2017-12-16 14:16:25 debian.cn

十个增加 Linux Shell 脚本趣味的小工具

很多人误以为shell脚本只能在命令行下使用。其实shell也可以调用一些GUI组件,例如菜单,警告框,进度条等等。你可以控制最终的输出,光标位置还有各种输出效果。下面我将介绍一些工具,帮助你创建强大的,互动的,用户友好的 Unix/Linux shell脚本。我在FreeBSD和Linux下测试过这些工具,不过其他UNIX系列的操作系统应该都支的。 1. notify-send 命令 这个命令可以让你通过通知进程发送一个桌面通知给用户。这可以用来向用户发送提示,或者显示一些信息而不用打断用户工作。你需要安装如下软件包: $ sudo apt-get install libnotify-bin 下面这个例子展示了如何从命令行向桌面发送一个简单的消息: notify-send...阅读全文

博文 2018-04-09 09:38:50 debian.cn

nsenter 及 Linux命名空间 简介

nsenter 是一个可以在指定进程的命令空间下,运行程序的命令,它位于 util-linux 包中。 nsenter 用途 nsenter 的一个典型用途是进入容器的网络名字空间,进行网络相关的排障。大多数容器,为了保轻量,没有包含较为基础的命令,比如说 ip,ping,telnet,ss,tcpdump等,这就给容器内的网络调试带来困扰。这时就可以使用 nsenter 命令仅进入到容器的网络命名空间,使用宿主机的相关命令调试容器网络。 此外,nsenter也可以进入 mnt, uts, ipc, pid, user 命令空间,以及指定根目录和工作目录。 nsenter 使用 首先看下nsenter命令的语法: nsenter [options] [program [arguments...阅读全文

博文 2020-12-15 11:22:44 debian.cn

Python的闭包和装饰器

了一个闭包——inner_func,并且该闭包有自由变量——name,因此这也意味着,当函数func的生命周期结束之后,name这个变量依然存在,因为它被闭包引用了,所以不会被回收。 另外再说一点,闭包并不是Python中特有的概念,所有把函数做为一等公民的语言均有闭包的概念。不过像Java这样以class为一等公民的语言中也可以使用闭包,只是它得用类或接口来实现。 nonlocal 语句 在 python 的函数内,可以直接引用外部变量,但不能改写外部变量,因此如果在闭包中直接改写父函数的变量,就会发生错误: 在 python 2 中可以在函数内使用 global 语句,但全局变量在任何语言中都不被提倡,因为它很难控制,python 3 中引入了 nonlocal 语句解决了这个问题...阅读全文

博文 2014-07-23 17:06:38 debian.cn

Java Annotations详解

) { localNames = new ArrayList(); } localNames.add(getVehicleName()); return localNames; } } Java预置的编译注释 Java支三个可以用来给编译相关的注释,它们是: · @Deprecated · @Override · @SuppressWarings 下面将对它们此次做解释 @Deprecated @Deprecated用来标记一个类、方法、成员变量已经被舍弃了。如果你的代码中使用舍弃(Deprecated)的类、方法或成员变量,那么编译器会给你一个警告。下面是一个例子: @Deprecated public class MyComponent { } 当你使用@Deprecated表示舍弃时,你也可以在Java文档中...阅读全文

博文 2013-03-02 08:04:55 CSDN博客