InfraPub 为您找到相关结果 769

Go 语言发布 2.x 计划,或将不完全向后兼容

论 Go 2 了。 开发团队表示,Go 语言如今的目标与 2007 年相同,就是希望使程序员更有效地管理两种规模:生产规模和开发规模,其中又主要针对的是与许多其他服务器交互的并发系统,和许多工程师协调的大型代码库。Go 2 的目标就是解决 Go 1 在规模化方面做的还不好的地方。 据 Russ 估算,目前球的 Go 开发者至少有 50 万,这意味着有数百万个 Go 源文件和至少十亿行 Go 代码。那些程序员和源代码代表了 Go 的成功,但同时也是对 Go 2 的主要约束。只有在回报非常巨大时,才能让开发者改变原有的旧习惯,学习新用法。Go 2 必须修正 Go 1 的问题,带动所有的 Go 开发者, 也就必须带上所有现有的 Go 源代码,不能让生态系统分裂。 如果把 Go 2 要增加的特性分...阅读全文

博文 2017-07-22 19:50:05 debian.cn

利用 NAT VPS 进行流量中转

部局域网的 IP 地址。 CentOS 下保存规则1sudo service iptables save Debian & Ubuntu 下 保存规则:123sudo apt install iptables-persistent -ysudo netfilter-persistent savesudo netfilter-persistent start至此,利用 iptables 设置中转的方法介绍完毕。另可根据使用场景,对目标机的防火墙进行配置,令其只接受来自此 NAT VPS 的流量。 使用 socat 进行中转如所需转发的端口数量较少,则个人推荐使用此方法。首先装 socat,此处以 Debian & Ubuntu 系统为例:1sudo apt install socat配置进行...阅读全文

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

你应该选择Cinnamon作为Linux桌面环境的十个理由

Cinnamon属于一套GNOME 3桌面fork,且希望实现GNOME桌面从未能实现的效果。除了对GNOME进行改进与扩展外,它还保留了独特且令人赞赏的特色。事实上,Cinnamon已经脱胎于GNOME 3并做得更好。 2011年,GNOME 3的发布激起了一系列积极与消极的反应。很多用户与开发者更喜爱原本的GNOME界面,因为它提供更多fork选项——而Cinnamon正是其中的杰出代表。 由于GNOME用户界面中的许多组件已经停止开发,Cinnamon及其他多种fork项目应运而生。而作为GNOME的使用方之一,Linux Mint项目也因此积极参与Cinnamon的开发工作。时至今日,Cinnamon已经成为一套完独立的桌面环境,且继承了大量用户最为喜爱的GNOME特性。 默认的...阅读全文

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

WordPress 4.8 Evans 正式版发布

,字体加粗,迅速添加链接等。文本挂件的功能更加强大,使用也更加简单了。 链接边界 你在编辑链接和更新链接的时候,是否有过不方便,很难正确编辑的时候呢?比如想要更新链接的文字,却发现文字在链接之外。 链接边界功能主要就是解决这个问题。当你的鼠标光标进入链接区之后,将自动进入链接编辑模式,再进行任何修改,都是在修改锚文本。当光标离开链接范围之后,自动退出链接编辑模式。 细微之处的改进,却非常实用哦。 附近的 WordPress 活动 WordPress 社区非常活跃,在球 400 多个城市举办过线下活动。WordPress 现在将这些活动的信息显示在 WordPress 的管理后台,吸引用户关注和参与这些活动,提升你的 WordPress 使用技术,结交好友等! 这是许多用户所喜爱的一个新功能...阅读全文

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

Rust的模块化系统: 包Packages, 箱Crates, 和模块Modules

)和方法(methods)仍是私有的(private)共有的枚举(public enums), 其所有变天(variants)也同为共有(public)父模块中的元素, 不能使用子模块中的私有元素子模块中的元素, 可以使用父模块的元素use使用关键字use简化路径Paths, 类似文件系统中的'symbolic link'.一些惯常用法调用其它模块函数时, 通过use引入其所在的模块(module)use some_mod; fn main() { some_mod::some_fn(); } 调用其它模块结构体struct, 枚举enum,通过路径引入,use std::collections::HashMap; fn main() { let mut map = HashMap::new...阅读全文

博文 2021-02-20 08:49:51 知乎

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

数据库。 6. 拥有复杂的数据(视频、图像、文件)——选择 Blob/对象存储。 7. 复杂的计算——使用消息队列和缓存。 8. 海量数据搜索——考虑搜索索引、尝试搜索引擎。 9. 扩展 SQL 数据库 — 实施数据库分片。 10. 高可用性、性能和吞吐量 — 使用负载均衡器。 11. 球数据交付——考虑使用 CDN。 12. 图形数据(具有节点、边和关系的数据)——利用图形数据库。 13. 扩展各种组件——实现水平扩展。 14. 高性能数据库查询——使用数据库索引。 15. 批量作业处理——考虑批处理和消息队列。 16. 服务器负载管理和防止 DOS 攻击 - 使用速率限制器。 17. 微服务架构——使用 API 网...阅读全文

Linux 5.11窗口合并期今天结束 引入大量新特性

成合并.- AMD Energy 驱动中支持 Zen 3 EPYC .- 合并The AMD SB-TSI 传感器驱动,用于AMD新服务器平台上的边带温度传感器接口。- 为 Zen 2 或更高版本提供 AND Frequency Invariance 支持 .- The AMD SoC PMC 驱动 已经 mainlined ,帮助移动/嵌入式硬件的电源管理。- 新的英特尔驱动 Intel IGEN6 driver 用于带内ECC与新的客户端SoC,初步支持 Elkhart Lake / Atom x6000E。- 另一个新的英特尔驱动是 RFIM code for Radio Frequency Interference Mitigation ,在选定的SoC上调整集成电压常规和DDR频...阅读全文

博文 2020-12-28 10:14:35 debian.cn

Redis 6 将采用全新协议RESP3 提供客户端缓存功能

Redis 创始人兼核心开发者 antirez 在博客 介绍 了将在 Redis 6 提供的新功能 —— Client side caching(客户端缓存)。 antirez 表示 新的 Redis 协议 RESP3 将是 Redis 6 中最重要的特性,并解释了他为何如此急切地改进 Redis 协议,原因主要有两个,一是因为希望能为客户端提供更多的语义化回复(semantical replies),以开发使用旧协议难以实现的功能;另一个原因也是 antirez 认为最重要的一个,实现 Client side caching(客户端缓存)功能 。 这个功能十分常见,但 Redis 尚未提供。 当使用者需要进行快速存储或快速取操作时,就需要在客户端内存中存储一小部分信息,这是为了降低程序...阅读全文

三大亮点带你看 Linux 内核 5.6

版中,硬件支持也将继续提升。而支持新式无线外设的计划也同样是优先的。 新内核中将增加对 MX Master 3 鼠标以及罗技其他无线产品的支持。 除了罗技的产品外,你还可以期待获得许多不同硬件的支持(包括对 AMD GPU、NVIDIA GPU 和 Intel Tiger Lake 芯片组的支持)。 6、其他更新 此外,Linux 5.6 中除了上述主要的新增功能或支持外,下一个内核版本也将进行其他一些改进: 改进 AMD Zen 的温度/功率报告修复华硕飞行堡垒系列笔记本中 AMD CPU 过热开源支持 NVIDIA RTX 2000 图灵系列显卡内建 FSCRYPT 加密 Phoronix 跟踪了 Linux 5.6 带来的许多技术性更改。因此,如果你好奇 Linux 5.6 所涉及的...阅读全文

博文 2020-02-07 11:13:09 debian.cn

Debian 公布关于支持非 systemd 初始化系统的投票结果

策略要求一致,并且通常建议软件包不应依赖于其他软件包的实验性或不受支持的(在 Debian 中)功能。软件包可能会包括对 systemd 以外的其他 init 系统的支持,并且可能包括其使用的任何 systemd 特定接口的替代物。维护人员使用其常规的程序来确定要引入的补丁。Debian 致力于使用对 init 系统做出不同选择的衍生产品。和我们与下游的所有交互一样,相关的维护人员将与下游一起工作,以找出哪些变化适合加入到 Debian 中,哪些变化应该完保留在派生工具中。...阅读全文

博文 2019-12-29 13:53:51 debian.cn

Apollo 分布式配置中心详解

。 版本发布管理 所有的配置发布都有版本概念,从而可以方便地支持配置的回滚。 灰度发布 支持配置的灰度发布,比如点了发布后,只对部分应用实例生效,等观察一段时间没问题后再推给所有应用实例。 权限管理、发布审核、操作审计 应用和配置的管理都有完善的权限管理机制,对配置的管理还分为了编辑和发布两个环节,从而减少人为的错误。所有的操作都有审计日志,可以方便的追踪问题。 客户端配置信息监控 可以在界面上方便地看到配置在被哪些实例使用。 部署简单 配置中心作为基础服务,可用性要求非常高,这就要求 Apollo 对外部依赖尽可能地少,目前唯一的外部依赖是 MySQL,所以部署简单,只要装好 Java 和 MySQL 就可以让 Apollo 跑起来。 Apollo 配置中心适用范围 既然 Apollo 定位...阅读全文

博文 2020-04-12 12:16:26 debian.cn

Debian目前面临的问题:钱足够但很缺人!

Kubuntu 和 MATE 等官方变体外,还有 Linux Mint、Linspire 和 Zorin 等第三方变体。Dibian 本身也广泛用于运行本地和公有云上的服务器应用,并且是完免费的。当然,Google 和 AWS 也位列此次 DebConf20 大会的白金赞助商。Debian 是由美国非盈利组织 SPI(Software in the Public Interest,公共利益软件组织)运营的。 “Debian 人不喜欢花钱,对此有负罪感。” 在本次 DebConf20 线上大会上,Carter 在“Debian 现状”部分报告了 Debian 项目具有非常健康的财务状况。他指出,项目受益于 SPI 等多家组织,目前银行账户金额超过 90 万美元。“一旦做事缺钱,就会有(赞助商)出手...阅读全文

博文 2020-10-09 10:24:04 debian.cn

漫画赏析:Linux 内核到底长啥样

今天,我来为大家解读一幅来自 TurnOff.us 的漫画 “InSide The Linux Kernel” 。TurnOff.us 是一个极客漫画网站,作者 Daniel Stori 画了一些非常有趣的关于编程语言、Web、云计算、Linux 相关的漫画。今天解读的便是其中的一篇。 在开始,我们先来看看这幅漫画的貌! Inside the Linux Kernel 这幅漫画是以一个房子的侧方刨面图来绘画的。使用这样的一个房子来代表 Linux 内核。 地基 作为一个房子,最重要的莫过于其地基,在这个图片里,我们也从最下面的地基开始看起: Filesystem 地基(底层)由一排排的文件柜组成,井然有序,文件柜里放置着“文件”——电脑中的文件。左上角,有一只胸前挂着 421 号牌的小企...阅读全文

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

Kubernetes常用命令大全(持续更新)

-versions #### API kubectl get events #### 查看事件 kubectl get nodes //获取部节点 kubectl delete node k8s2 //删除节点 kubectl rollout status deploy nginx-test 创建 kubectl create -f ./nginx.yaml #### 创建资源 kubectl create -f . #### 创建当前目录下的所有yaml资源 kubectl create -f ./nginx1.yaml -f ./mysql2.yaml #### 使用多个文件创建资源 kubectl create -f ./dir #### 使用目录下的所有清单文件来创建资源 kubectl...阅读全文

博文 2020-03-13 12:35:13 debian.cn

架构师详解 Nginx 架构

立好需要 listen 的 socket(listenfd)之后,然后再 fork 出多个 worker 进程。所有 worker 进程的 listenfd 会在新连接到来时变得可读,为保证只有一个进程处理该连接,所有 worker 进程在注册 listenfd 读事件前抢 accept_mutex,抢到互斥锁的那个进程注册 listenfd 读事件,在读事件里调用 accept 接受该连接。当一个 worker 进程在 accept 这个连接之后,就开始读取请求,解析请求,处理请求,产生数据后,再返回给客户端,最后才断开连接,这样一个完整的请求就是这样的了。我们可以看到,一个请求,完由 worker 进程来处理,而且只在一个 worker 进程中处理。 在 Nginx 服务器的运行过程中...阅读全文

博文 2018-05-01 23:10:47 debian.cn

Linux下多线程程序为什么消耗大量虚拟内存

你打算在程序代码中来设置这个东西,那么可以调用mallopt(M_ARENA_MAX, xxx)来实现,由于我们AuthServer采用了预分配的方式,在各个线程内并没有分配内存,所以不需要这种优化,在初始化的时候采用mallopt(M_ARENA_MAX, 1)将其关掉,设置为0,表示系统按CPU进行自动设置。 意外发现 想到tcmalloc小对象才从线程自己的内存池分配,大内存仍然从中央分配区分配,不知道glibc是如何设计的,于是将上面程序中线程每次分配的内存从1k调整为1M,果然不出所料,再分配完64M后,仍然每次都会增加1M,由此可见,新版 glibc完借鉴了tcmalloc的思想。【原文出处: 陈斌的博客】...阅读全文

博文 2015-01-28 10:35:39 debian.cn

Golang Context 探究

server 来解释, Go 服务每次都是启动一个新的 goroutine 来处理每一个请求,在这个请求的操作往往会启动新 goroutine 访问数据库或其他服务,如果此时客户端断开了连接,后续的消耗资源的操作就完没必要了。所以我们需要一个在 goroutine 之间同步取消信号,截止时间的机制或者特定请求数据。而 Context 被设计出来就是帮我们实现这个目标。 1 2 3 |-----------| |-----------| |-----------| | goroutine |-------> | goroutine |-------> | goroutine | |-----------| |-----------| |-----------| 默认 Context context 包...阅读全文

博文 2021-02-25 09:27:27 lxkaka

运维的未来:云服务兴起,运维人员会“下岗”吗?

派的运维需负责运行该系统。 老派的运维通常是伪君子。他们主张严苛的 SDLC,然后在维护基础架构时却绕过了同样的 SDLC 。新运维意味着基础架构即代码。配置变化即代码。这两个哪个也没能免于开发人员必须遵守的 SDLC。我们编纂变更请求,使用不可改变的基础架构和 AMI。没经历此进程,我们不会把改变推送到真实环境中。同样地,我们需要对合规性和其他开发人员无法产生共鸣的 SDLC 要求进行编码,编到工具和进程中。进程记录并编纂价值。 老派运维总是同精益思维不一致。它完是中断驱动——灭火后,一个接一个解决问题。同时,取得平衡非常重要。在集成环境中,使开发者团队能够 SSH 登录进 box 中或者将调试器附加到集合上,会阻止他们正确地调试应用程序吗?会促进痛苦移位吗?在运维思维和开发思维间取得平...阅读全文

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