Simplifying Microservices with Istio in Google Kubernetes Engine – Part I
Istio simplifies service to service communication, traffic ramping, fault tolerance, performance monitoring, tracing and much, much more. How can we
Read moreIstio simplifies service to service communication, traffic ramping, fault tolerance, performance monitoring, tracing and much, much more. How can we
Read more欧盟委员会于本月8日发布了正式版的人工智能道德准则《ETHICS GUIDELINES FOR TRUSTWORTHY AI》(可信赖AI的伦理准则),提出了实现可信赖人工智能全生命周期的框架。 该准则由欧洲人工智能高级别专家组(High-Level Expert Group on Artificial Intelligence,AI HLEG)起草。AI HLEG由欧盟委员会2018年4月任命的专门负责撰写人工智能道德准则并为欧盟提供政策和投资建议的小组,包括52位代表学术界、工业界和民间社会的独立专家。 文章仅供参考,观点不代表本机构立场。 发布机构:欧盟委员会 发布时间:2019年4月8日 编译:学术plus高级评论员 张涛 来源:https://ec.europa.eu 报告主要观点一览
Read more资源,无论是计算资源、存储资源、网络资源,对于容器管理调度平台来说都是需要关注的一个核心。 • 如何对资源进行抽象、定义? • 如何确认实际可以使用的资源量? • 如何为容器分配它所申请的资源? 这些问题都是平台开发者需要仔细思考的。当然, kubernetes 在这个方面也提出了很多精巧、实用的设计方案。所以这篇博文所关注的就是有关 kubernetes 资源管理的相关问题。 这篇博文会依次讨论以下几个问题,希望能够通过尽量平实的语言为读者解析 kubernetes 在资源管理上的大致思路。 • 首先我们关注的是 kubernetes 对各种资源的抽象模型,也就是回答第一个问题:kubernetes 是如何对资源进行抽象和定义的呢?
Read more/wp-includes/js/dist/deprecated.min.js?ver 一、vi查找: 当你用vi打开一个文件后,因为文件太长,如何才能找到你所要查找的关键字呢?在vi里可没有菜单-〉查找,不过没关系,你在命令模式下敲斜杆(/)这时在状态栏(也就是屏幕左下脚)就出现了 “/”然后输入你要查找的关键字敲回车就可以了。如果你要继续查找此关键字,敲字符n就可以继续查找了。值得注意的是“/”是向下查找,而“?”是向上查找,而在键盘定义上“?”刚好是“/”的上档符。 二、vi替换: vi/vim 中可以使用 :s 命令来替换字符串以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊飕还有很多需要学习),记录几种在此,方便以后查询。:s/vivian/sky/ 替换当前行第一个 vivian 为 sky:s/vivian/sky/g 替换当前行所有 vivian 为 sky:n,$s/vivian/sky/ 替换第 n
Read moreThere is no excerpt because this is a protected post.
Read more在网络开发中,我发现有很多同学对一个基础问题始终是没有彻底搞明白。那就是一台机器最大究竟能支持多少个网络连接?我想我有必要单独发一篇文章来好好说一下这个问题。很多同学看到这个问题的第一反应是65535。原因是:“听说端口号最多有65535个,那长连接就最多保持65535个了”。是这样的吗?还有的人说是应该受TCP连接里四元组的空间大小限制,这样算起来就是非常非常大的一个数字了。这两个答案都对,也都不对。 其实要想把这个问题搞清楚,最最最关键的地方在于要把TCP连接的两端里的角色分清楚-客户端和服务器端。你手头的任何一台服务器,一般情况下都即是服务器,又是客户端。例如对于你的开发的后端接口,对于用户来说你是服务器端。但你得请求Redis、Mysql去获取数据,这时候又变成了客户端。如果不把这台机器作为客户端和服务器端两种角色拆开来理解,你将永远被这个问题困惑下去。 所以本文分别从客户端、服务端两块来展开聊聊。 客户端 现在我们单独来说客户端,当一台机器作为客户端的时候,究竟能支持多少个TCP连接? 空嘴说没有啥意思,我们直接用代码来试试。 1.小试牛刀 开始实验之前我们先来check下手头机器上的端口数量的配置 通过上述内核参数的输出看到内核开放了50000个端口可以供TCP连接使用。接下来是一段看起来长,但其实非常简单的TCP客户端连接的代码。用它来连接你的任意一个TCP Server,比如Nginx、Redis啥的都可以。 我通过这段代码对我的某台机器上的Nginx发起了连接 通过netstat命令看到连接数量稳步上升,但当上升到5W的时候,出现了一条报错 回头想想我们的ip_local_port_range参数值,65000-15000就只开放了5万个。其实是超过这个限制了。 这个时候我们似乎可以初步得出一个相结论.当Linux作为客户端建立连接的时候,最大连接数量是受内核参数net.ipv4.ip_local_port_range限制 而ip_local_port_range是可配置的,最大理论范围是0-65535 进阶 如果这个时候你相信了我上面的结论的话,就又被我带了沟里了。为什么这么说,让我们来看下面的实验。 首先通过ifconfig命令看到我的机器上有两块网卡,每块网卡都已经配置好了一个ip。 接着我们修改一下第一个实验的代码,在发起连接之前允许使用socket_bind来绑定ip。 接下来我们分别启动两个控制台,分别执行一下代码。其中10.143.x.x和10.153.x.x是实验用机的两个网卡ip。 这个时候通过ss命令监控本机的ESTABLISH连接,发现已经突破5万,并向10万逼近了。
Read more