InfraPub 为您找到相关结果 178

WebAssembly:无需容器的 Docker (上)

得在最小打包的上下文下运行应用程序配置变得更加容易,而不会影响主机操作系统上的任何其他应用程序。 但是,仍然需要分发与其运行时和必要的库捆绑在一起的应用程序。 安全边界由 Linux 内核提供。现在有了 WebAssembly。 它的技术特性和可移植性使得分发应用程序成为可能,无需 ship 操作系统级别的依赖项,并且可以在严格的安全约束下运行。鉴于所有这些,开发者通常将 WebAssembly 视为容器的 “继承者”,以及基础设施部署的自然而然的下一步。然而,另一种看 WebAssembly 的方式是将其作为 Docker 工具的另一个 “后端” 选择。 可以使用相同的命令行工具和工作流,替代 Linux 容器,使用基于 WebAssembly 的容器等同等的东西来实现。 本文的其余部分...阅读全文

博文 2023-01-03 06:35:56 spider

aptitude 与 apt

示前一部分的输出结果中含有“/usr/games”的那些行。这个游戏很酷哦。说不定还有其他赛道可玩的?apt-cache search torcs我的磁盘空间不够用了。我得把apt的缓存空间清空才行。apt-get clean哦不,老妈叫我把机器上的所有游戏都删掉。但是我想把配置文件保留下来,这样会我只要重装一下就可以继续玩了。apt-get remove torcs如果我想连配置文件一块删除:apt-get remove –purge torcs额外的软件包deborphan和debfoster工具可以找出已经安装在系统上的不会被用到的软件包。提高命令行方式下的工作效率 您可以通过定义别名(alias)来提高这些命令的输入速度。例如,您可以在您的*~/.bashrc*文件中添加下列内容...阅读全文

博文 2021-01-28 17:50:09 get 的区别与联系

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

; – tune.sndbuf.client: – tune.sndbuf.server: * Debug相关的参数 - debug - quiet * 超时时长 timeout http request :在客户端建立连接但不请求数据时,关闭客户端连接 timeout queue :等最大时长 timeout connect: 定义haproxy将客户端请求转发至后端服务器所等的超时时长 timeout client:客户端非活动状态的超时时长 timeout server:客户端与服务器端建立连接后,等服务器端的超时时长, timeout http-keep-alive :定义保持连接的超时时长 timeout check:健康状态监测时的超时时间,过短会误判,过长资源消耗 maxconn :每个server最大的连接数...阅读全文

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

Kafka 3.0新特性全面曝光,真香!

,选票会被瓜分,有可能没有选出领导人,那么,将会开始另一个任期,并且立刻开始下一次选举。Raft算法保证在给定的一个任期最多只有一个领导人。Leader选举的过程Raft使用心跳来进行触发leader选举,当服务器启动时,初始化为follower角色。leader向所有Follower发送周期性心跳,如果Follower在选举超时间内没有收到Leader的心跳,就会认为leader宕机,稍后发起leader的选举。每个Follower都会有一个倒计时时钟,是一个随机的值,表示的是Follower等成为Leader的时间,倒计时时钟先跑完,就会当选成为Leader,这样做得好处就是每一个节点都有机会成为Leader。当满足以下三个条件之一时,Quorum中的某个节点就会触发选举:向Leader...阅读全文

博文 2022-04-28 16:02:11 mp.weixin.qq.com

域名与商标: 如何防止域名被仲裁

,域名权与商标权、商号权、名称权不可避免地会产生冲突。这类情况相对比较复杂和不确定性,理论上,任何一个域名都有产生权利冲突的可能性。 在权利冲突上,仲裁机构还是会充分尊重域名作为独立知识产权的权利和它的先得原则。也就是说,如果域名的注册时间先于商标、商号或名称的启用时间,或者域名的使用区别于现有商标、商号或名称的经营范围的,域名所有权将不受影响。举个例子,alichat域名,阿里巴巴为何不通过仲裁而是出钱收购,就是因为alichat域名在阿里的Chat业务启动前就已经存在,阿里即使仲裁,也不会被支持。 对于权利冲突类域名,经咨询相关法律专业人士,认为一般有以下争议解决法: 1、注册在先,即域名的先得原则2、否认声明,在域名对应的网站上,声明自已域名的使用范围和商品类别,或者声明自已的域名与他...阅读全文

博文 2019-01-18 14:59:59 debian.cn

UCloud 叶理灯 谈:Docker、K8S 和 Serverless

前段时间,笔者参加了 UCloud 在京举的 TIC 2019 大会,适逢 UCloud 实验室负责人叶理灯的演讲结束,就容器计算方面和他进行了短暂沟通。叶理灯是国内在云计算方面有深入研究和实践的资深专家,我觉得他的一些观点和看法值得分享给大家了解。 UCloud 实验室负责人 叶理灯 叶理灯现负责 UCloud 创新产品研发,专注面向企业的云计算产品的研发及运营。叶理灯拥有 10 年以上丰富的互联网研发经验,先后任职于腾讯、盛大云等互联网公司,从事海量分布式后台系统研发及运营工作。 定制违背了 K8S 初衷,提供原生 K8S 产品 记者:在官方的 K8S 发行版之上,各方云厂商提供 K8S 服务时都有一些自己的定制和调整,今天大会上提及的 UCloud 的 K8S 发行版 UK8S 主...阅读全文

博文 2019-06-14 08:28:49 debian.cn

案例:Redis命令不当 引起数据库雪崩 造成数百万损失

,CPU持续上升到99% 5分钟内,大量应用报警,并且拒绝服务,RDS的监控显示出现大量慢SQL,联系服务器数据库提供商进行协助 8分钟内,进行数据库主备切换(业务会受损,但是也没法,没有定位到问题) 9分钟内,部分业务恢复,但是一些业务订单的回调消息堆积超过20w,备库的CPU使用率也持续上升 15分钟内,备库CPU使用率超过97%,业务再次中断,进行切回主库,并进行限流 20分钟内,关闭一些次要应用的流量入口 25分钟内,主库CPU使用率恢复正常 30分钟内,逐步开启关闭的限流应用 35分钟内,所有应用恢复正常 接下来就是与服务器数据库提供商成立应急小组紧急优化可能出现的慢SQL,虽然说可能解决了一些慢SQL,但此次并没有定位到具体的问题,也就为几天后再次发生宕机事件埋下了伏笔 事故影响 某...阅读全文

博文 2018-10-27 10:18:18 debian.cn

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

Profiling 行为的生命周期,而 Profiling 行为一定程度上会影响性能,于是我们对官方 Pyroscope 的生命周期做了扩展,实现“停止”行为的同时,采用时间轮算法来检测特定操作的耗时,当达到期望的阈值将触发开启 profiling, 操作结束或超过最大阈值则停止。 关于性能诊断相关的运用,请期后续诊断专题。 五、 0xff 结语 纵观得物在应用监控采集领域的三大里程碑迭代,第一阶段的 CAT 则是 0~1 的过程,它提供了应用服务对自身观测的途径,让业务方第一次真实地了解了服务运行状况,而第二阶段开始,随着业务发展的飞速提升,业务方对监控系统的要求就不仅只是从无到有了,而是要精细,准确。 因此,快速迭代的背景下,功能与架构演进层面的矛盾,加上外部云原生大背景下可观测领域的发展因素,促使...阅读全文

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

说透IO多路复用模型_京东云开发者的博客

遍历,O(n)的轮询时间复杂度。 poll模型 考虑到select模型的几个限制,后来进行了改进,这也就是poll模型,既然是select模型的改进版,那么肯定有其亮眼的地方,一起来看看吧。当然,这次我们依旧是先翻阅linux man二类文档,因为这是官方的文档,对其有着最为精准的定义。 int poll(struct pollfd *fds, nfds_t nfds, int timeout); 其实,从运行机制上说来,poll所做的功能和select是基本上一样的,都是等并检测一组文件描述符就绪,然后在进行后续的IO处理工作。只不过不同的是,select中,采用的是bitmap结构,长度限定在1024位的文件描述符表,而poll模型则采用的是pollfd结构的数组fds,也正是由于...阅读全文

博文 2023-01-01 15:13:50 CSDN博客

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

Debian 9 使用kubeadm创建 k8s 集群(下)

worker1 Ready 1d v1.14.0 worker2 Ready 1d v1.14.0 如果所有节点都具有Ready for STATUS值,则表示它们是群集的一部分并准备好运行工作负载。 但是,如果一些节点将NotReady作为STATUS ,则可能意味着工作节点尚未完成其设置。 等大约五到十分钟,然后重新运行kubectl get nodes并检查新输出。 如果少数节点仍具有NotReady作为状态,则可能必须验证并重新运行前面步骤中的命令。 现在您的集群已成功验证,让我们在集群上安排一个示例Nginx应用程序。 第7步 - 在群集上运行应用程序 您现在可以将任何容器化应用程序部署到您的群集。 为了保持熟悉,让我们使用部署和服务部署Nginx,以了解如何将此应用程序部署到集群。 如果更...阅读全文

博文 2019-05-13 22:57:41 debian.cn

Cortex: 高可用和水平扩展Prometheus监控系统

Cassandra作为索引和块存储在前两个示例中,我们使用dynamodb-local作为索引存储,并使用fakes3作为块存储。在此示例中,我们将使用Apache Cassandra进行索引存储和块存储。以下命令将启用helm incubator repo,使用helm安装Cassandra,并等3个副本准备就绪。helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/ helm install --wait --name=cassie incubator/cassandra 准备好Cassandra后,继续安装所有其他服务。kubectl apply -f k8s-cassandra...阅读全文

博文 2021-10-09 17:00:22 知乎

如何读懂火焰图?+ 实例讲解程序性能优化 - xuxh120

627891 > 627891.svg -d N 分析持续时间(以秒为单位)。如果未提供启动,恢复,停止或状态选项,则探查器将运行指定的时间段,然后自动停止。 -i N 设置分析间隔(以纳秒或者毫秒等作为单位),默认分析间隔为10ms。 -o 转储文件的格式。 等15s,就会产生结果,生成 627891.svg 文件。vim 627891.svg 并删除第一行,然后下载到本地并使用浏览器打开。 结果如下图,此图俗称火焰图,主要看每个方法的横轴长度,占用横坐标越长的操作,其占用的 cpu 即最长,很直观的。 9.2 性能黑点分析 我们首先发现下图红框内的代码存在严重的性能问题。在append的过程中,获取线程 stack 的过程耗时比较大。从火焰图中分析,耗时占据了接近50%的是,一个logger操作...阅读全文

博文 2022-03-11 10:05:09 博客园

WebAssembly:无需容器的 Docker (下)

-wasm:wordpress 可以访问 http://localhost:8087 并使用由 PHP Wasm 解释器服务的 WordPress,它由 Apache HTTPD 中的 mod_wasm 加载。直接在浏览器中服务 WordPress访问 https://wordpress.wasmlabs.dev 获得示例。 你将看到一个框架,其中 PHP Wasm 解释器会现场渲染 WordPress。结论感谢阅读本文。 需要消化的内容很多,但我们希望本文有助于理解 WebAssembly 的能力以及它如何与你现有的代码库和工具(包括 Docker)结合运行。 期看到你使用 Wasm 编程!如果你觉得 WasmEdge 不错,不要忘了给我们点个赞!...阅读全文

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

细数k8s支持的4种类型的container - 侃豺小哥

始化容器不会被开始执行。因此,如果启动任务很长,则可以考虑将其分为多个步骤,每个步骤都由一个初始化容器处理,以便您知道哪些步骤失败。 如果任何初始化容器失败,则将重新启动整个Pod(除非您将restartPolicy设置为Never)。重新启动Pod意味着再次重新执行所有容器,包括任何初始化容器。因此,您可能需要确保启动逻辑允许多次执行而不会导致重复。例如,如果数据库迁移已经完成,则应仅忽略再次执行迁移命令。 初始化容器是延迟应用程序初始化直到一个或多个依赖项可用的很好的选择。例如,如果您的应用程序依赖于施加API请求速率限制的API,则您可能需要等一段时间才能接收来自该API的响应。在应用程序容器中实现此逻辑可能很复杂;因为它需要与健康和就绪状态探测器结合使用。一种更简单的方法是创建一个...阅读全文

博文 2021-08-20 11:45:32 博客园

协议介绍之深入了解 gRPC

HTTP/1.x 做过推送的同学,大概就知道有多么的痛苦,因为 HTTP/1.x 并没有推送机制。所以通常两种做法: Long polling 方式,也就是直接给 server 挂一个连接,等一段时间(譬如 1 分钟),如果 server 有返回或者超时,则再次重新 poll。 Web-socket,通过 upgrade 机制显式的将这条 HTTP 连接变成裸的 TCP,进行双向交互。 相比 Long polling,笔者还是更喜欢 web-socket 一点,毕竟更加高效,只是 web-socket 后面的交互并不是传统意义上面的 HTTP 了。 Hello HTTP/2 虽然 HTTP/1.x 协议可能仍然是当今互联网运用最广泛的协议,但随着 Web 服务规模的不断扩大,HTTP/1.x 越...阅读全文

博文 2017-06-22 11:08:48 debian.cn

Debian 往事: 与已故创始人 Ian Murdock 的昔日访谈

。所以连起来就是 Debian。 1993 年 8 月,Murdock 在 comps.os.linux.development 消息组中发布了 Debian 开发的消息,一如几年前的 Linux 发布公告。Murdock 还号召人们来评论和给建议: 你对于软件包或者系列有什么想法?或是对最终发布产品有什么期?请务必告诉我们! Murdock 说当时他收到的评论多得都快把他淹没了。 Debian 踩准的第一个点就是人们当时对于 SLS 已经非常不满了。Linux 显然是一个非常强大而有潜力的系统,但是败笔就在于产品没有很好地把这些优势展现出来。比如「打造一个人人都可以参与开发和改造的系统」这个理念就非常值得推广普及。经常会用户对我说「嘿,有些东西你没想到不过我可以做出来。」这般抛砖引玉的手法...阅读全文

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

译:Kubernetes 最佳实践

的 AKS(Azure Kubernetes 服务)或 Amazon Web Services 上的 EKS(亚马逊弹性 Kubernetes 服务)。利用这一点意味着底层基础设施将由云服务商管理,并且可以更轻松地完成有关扩展集群的任务,例如添加和删除节点,而让工程师管理 K8s 集群上运行的内容本身。升级Kubernetes版本除了引入新功能外,新的 K8s 版本还包括漏洞和安全修复,这使得在集群上运行最新版本的 K8s 非常重要。对旧版本的支持可能不如新版本好。然而,迁移到新版本时应谨慎对,因为某些功能可能会被废弃,也可能会添加新功能。此外,在升级之前,应检查集群上运行的应用程序是否与较新的目标版本兼容。监控集群资源和审计策略日志监控 K8s 控制平面中的组件对于控制资源消耗非常重要...阅读全文

博文 2022-09-13 19:32:21 atbug.com

Debian 向左:或将迎来根本性改革 - OSCHINA

一步,Allbery 在10月给出提案,的确获得了社区内的多数同意。但是,这一举措需要进行一般性决议投票(根据之前的规则),而且决议必须以 3:1 的超级多数通过。 目前,Allbery 不希望匆忙提出一般性决议的要求,而是希望等到他觉得有很大可能性能获得超级多数支持之后再发起,因此他请求所有那些不支持现有提案的人解释一下原因。 无论如何,我们可以期这些举措的进一步落地,希望这一改革真的能够改善 Debian 决策缓慢的弊病。...阅读全文

博文 2021-12-06 13:55:01 中文开源技术交流社区

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

Kinsella)曾经创帮助企业优化云计算部署的科技公司“云健康”,公司后来被虚拟机巨头VMware并购。金塞拉分析称,在AWS的数百万客户中,营收和利润并未均匀分布。如果两成的客户贡献了八成的收入,那么主要的盈利来自于剩下的八成客户,他们主要是中小企业。需要指出的是,云计算大客户往往能够获得不菲的折扣。贝尔斯登公司预测,在2019年,亚马逊云计算已经实现了61%的总体毛利率。对于本报道,亚马逊官方目前并未发表评论。核心计算:EC2美国科技行业观察人士哈瓦·苏里(Bhavan Suri)表示,EC2(亚马逊弹性计算云,是一个让使用者可以租用云端电脑运行所需应用的系统)是亚马逊云计算最古老的产品,是毛利润和运营利润的发动机。苏里表示,EC2服务的毛利率应该在50%左右。迄今为止,亚马逊并未提供各个云计算产...阅读全文

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

最全的 DevOps 工具集合

它身上可以找到 Screw.Unit、JSSpec、JSpec 和 RSpec 等诸多单元测试框架的影子。 Cucumber Cucumber 是一种支持行为驱动开发的软件工具。 Cucumber BDD 方法的核心是一种称为 Gherkin 的普通语言解析器。它能用客户可以理解的逻辑语言来指定预期的软件行为。 持续集成和部署(CI/CD) CI 工具的存在是为了快速反馈和减少缺陷、等。目前业务比较常用的 CI 工具包括 Jenkins、CircleCI、Travis CI、Concourse、AWS CodePipeline 和 Azure Pipelines。 Jenkins Jenkins 是一个免费的开源自动化服务器。Jenkins 可用来自动化软件开发过程中非人类参与的工作,基于...阅读全文

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

HTTP状态码详解

:虽然RFC 1945和RFC 2068规范不允许客户端在重定向时改变请求的方法,但是很多现存的浏览器将302响应视作为303响应,并且使用 GET 方式访问在 Location 中规定的 URI,而无视原先请求的方法。状态码303和307被添加了进来,用以明确服务器期客户端进行何种反应。 303 对应当前请求的响应可以在另一个 URI 上被找到,而且客户端应当采用 GET 的方式访问那个资源。这个方法的存在主要是为了允许由脚本激活的POST请求输出重定向到一个新的资源。这个新的 URI 不是原始资源的替代引用。同时,303响应禁止被缓存。当然,第二个请求(重定向)可能被缓存。 新的 URI 应当在响应的 Location 域中返回。除非这是一个 HEAD 请求,否则响应的实体中应当包含指向...阅读全文

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

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

packet 为单位(默认64K),A 收到一个 packet 就会传给 B,B 传给 C。A 每传一个 packet 会放入一个应答队列等应答; 数据被分割成一个个 packet 数据包在 pipeline 上依次传输,在 pipeline 反方向上, 逐个发送 ack(命令正确应答),最终由 pipeline 中第一个 DataNode 节点 A 将 pipelineack 发送给 Client; 当一个 block 传输完成之后,Client 再次请求 NameNode 上传第二个 block,重复步骤 2; 7.1 网络拓扑概念 在本地网络中,两个节点被称为“彼此近邻”是什么意思?在海量数据处理中,其主要限制因素是节点之间数据的传输速率——带宽很稀缺。这里的想法是将两个节点间的带宽作为距离的...阅读全文

谷歌公开了内部管理Infra层的两个工具的Paper

序迁出,就很难总结出共同的部分。 工作流也很脆弱。原生工作流有很多关于生产状态的隐性假设,这会导致不可预期的故障。要避免错误,我们添加了前提条件:金丝雀集群是否服务于真实流量?底层有没有运行中断?但是因为我们需要扩展到数十个基础架构提供者和上百个服务,这些Web的前提条件变得非常tricky。每个工作流都需要知道其他工作流的状态。 交互变成了N²问题,这里N是组成服务基础架构的asset数量。当你更新单个asset时,需要考虑它可能带给别的asset或者工作流的影响。比如,现在是否能够重启缓存,或者是否需要等另一个缓存稳定了之后?如果需要手动变更某个在线的工作流,有没有哪些别的工作流也需要操作的? — 3 — 我们的方案:Prodspec和Annealing 手动设计每个工作流变得不太可能...阅读全文

博文 2023-01-08 11:23:20 CSDN博客

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

我们正处于gRPC采用的开始阶段,期社区提供更多的工具和技术。很高兴能够加入这个充满活力的社区,并对未来的项目有一些想法,我们希望看到这些项目是开放源代码或我们自己写的。 gRPC工具的当前状态 gRPC比较新,缺乏可用的开发工具,特别是与经验丰富的REST over HTTP / 1.1协议相比。搜索教程和示例时,这一点尤其明显,因为只有少数有用的信息。二进制格式也使消息不透明,需要努力解码。虽然有一些选择,例如JSON代码转换器可以帮助,但预计需要做一些基础工作,以便为gRPC提供顺畅的开发体验。 我们喜欢用Apiary 来记录外部API。使用服务协议缓冲区(protobuf)文件自动生成交互式文档的等价物,将是理想的有效的内部通信gRPCAPI。protobuf文件的静态分析在运行时...阅读全文

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

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

[i]){ dp[j] = dp[j]; }else if(j == num[i]){ dp[j] = 1; }else{ if(dp[j]!=0&&dp[j-num[i]]!=0){ dp[j] = Math.min(dp[j], dp[j-num[i]]+1); }else{ dp[j] = dp[j]!=0?dp[j]:dp[j-num[i]]; } } } } return dp[target]; } 动态规划和分治区别: 动态规划算法:它通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治...阅读全文

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

CCPA vs. GDPR:欧美这两部个人数据保护法有什么差异?

通信网络和服务提供者为了确保网络和信息安全、提高信息系统抵抗能力、规避意外事件而进行紧急个人数据处理。 6.2 CCPA关于被遗忘权的规定——原则与例外 与GDPR一样,CCPA也赋予了数据主体“被遗忘权”,但不同的是,CCPA对于被遗忘权的执行设置了更为确定的例外情形,具体包括: 该信息对于完成数据主体请求的交易,或对于履行协议来说是必要的;该信息对于侦察安全事件来说是必要的;该信息对于防止欺诈、欺骗或不法行为来说是必要的;该信息对于鉴定或修复错误来说是必要的;该信息对于促进言论自由来说是必要的;该信息对于公共利益的科学性、历史性或统计性的研究来说是必要的;如果该信息对某个公司的内部使用(且该使用被消费者合理地期)来说是必要的;该信息以与搜集目的相匹配的形式被内部利用; 6.3 小结...阅读全文

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

的时间复杂度都在O(1)到O(N)之间,在文本和官方文档中均对每个命令的时间复杂度有说明。 通常来说,O(1)的命令是安全的,O(N)命令在使用时需要注意,如果N的数量级不可预知,则应避免使用。例如对一个field数未知的Hash数据执行HGETALL/HKEYS/HVALS命令,通常来说这些命令执行的很快,但如果这个Hash中的field数量极多,耗时就会成倍增长。 又如使用SUNION对两个Set执行Union操作,或使用SORT对List/Set执行排序操作等时,都应该严加注意。 避免在使用这些O(N)命令时发生问题主要有几个法: 不要把List当做列表使用,仅当做队列来使用 通过机制严格控制Hash、Set、Sorted Set的大小 可能的话,将排序、并集、交集等操作放在客户端执...阅读全文

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