优化 Tengine HTTPS 握手时间

网络延迟是网络上的主要性能瓶颈之一。在最坏的情况下,客户端打开一个链接需要DNS查询(1个RTT),TCP握手(1个RTT),TLS握手(2个RTT),以及最后的HTTP请求和响应,可以看出客户端收到第一个HTTP响应的首字节需要5个RTT的时间,而首字节时间对web体验非常重要,可以体现在网站的首屏时间,直接影响用户判断网站的快慢,所以首字节时间(TTFB)是网站和服务器响应速度的重要指标,下面我们来看影响SSL握手的几个方面:我们知道,小包的载荷率非常小,若网络上出现大量的小包,则网络利用率比较低,就像客运汽车,来一个人发一辆车,可想而知这效率将会很差,这就是典型的TCP小包问题,为了解决这个问题所以就有了Nigle算法,算法思想很简单,就是将多个即将发送的小包,缓存和合并成一个大包,然后一次性发送出去,就像客运汽车满员发车一样,这样效率就提高了很多,所以内核协议栈会默认开启Nigle算法优化。Night算法认为只要当发送方还没有收到前一次发送TCP报文段的的ACK时,发送方就应该一直缓存数据直到数据达到可以发送的大小(即MSS大小),然后再统一合并到一起发送出去,如果收到上一次发...

Knative 实践:从源代码到服务的自动化部署

通过之前的文章,相信大家已经熟悉了Serving、Eventing以及Tekton。那么在实际使用中,我们往往会遇到一些复杂的场景,这时候就需要各个组件之间进行协作处理。例如我们提交源代码之后是否直接可以部署服务到K8s中?这个场景对于用户来说很有吸引力。那么现在就让我们来看一下,在Knative中如何实现从代码到服务?现在的场景是这样的:代码构建->事件驱动->服务部署。那么对应到Knative中,需要Eventing、Tekton和Serving一起协作来实现这个场景。部署Knative。参考在阿里云容器服务上部署Knative;部署Tekton。通过阿里云容器服务控制台,应用目录选择 ack-tekton-pipelines 进行安装部署Tekton;    部署GitHub事件源。阿里云容器服务控制台Knative组件管理中选择安装GitHub组件,如图所示:修改分支代码,提交mergerequest合并到master分支;Eventing监听到merge事件,发送给GitHubTrigger服务;GitH...

2018年DDoS攻击全态势:战胜第一波攻击成“抗D” 关键

2018年,阿里云安全团队监测到云上DDoS攻击发生近百万次,日均攻击2000余次。目前阿里云承载着中国40%网站,为全球上百万客户提供基础安全防御。可以说,阿里云上的攻防态势是整个中国攻防态势的缩影。基于2018.1.1-12.31阿里云上的DDoS攻击数据,阿里云安全团队从DDoS攻击事件、僵尸网络中控、DDoS肉鸡等多个维度做了统计分析,希望为政府和企业客户提供参考价值。核心观点TCP类型的攻击在DDoS攻击威胁中占据着更重要的比重。应用层攻击对抗越来越激烈。游戏等行业依然是攻击发生最频繁的区域。攻击峰值已经以T为单位。DDoS攻击中,IoT设备的数量明显提升。由于篇幅限制,本文仅截取了两个典型攻击案例在此分享,获取完整版报告请点击下方链接:https://files.alicdn.com/tpsservice/2a83ff6c52d8f1f0b00e3e9dc5ce31fa.pdf?spm=5176.146391.1095956.5.66855e3brC2aOb&file=2a83ff6c52d8f1f0b00e3e9dc5ce31fa.pdf流量最大案例2018年9月...

三七女生节,解密阿里女程序员们的代码诗!

/摘要: 云栖社区推出“三七”女生节特别分享,16位才华横溢的阿里女生们同一时间分享了代码诗,快来解密吧!女生节快要到了,小编火速在阿里的程序员群体中发掘出了一群才华横溢的程序媛!今天就和大家分享下,阿里背后写代码、修bug的女生们!巾帼不让须眉,如今越来越多的女性同胞参与到IT行业,这个行业因为她们的参与,才显得更加精彩,因为她们的出现,才有了更多活力。云栖社区为此推出“三七”女生节特别分享,16位才华横溢的阿里女生们同一时间分享了自己写的代码诗和她们推荐的书单,你知道这些代码的释义吗?快来解密吧!顺便祝各位MM女生节快乐!女生排名不分先后!来自阿里巴巴的技术女生们:辰颜这位程序媛来自阿里云效平台,她写的代码诗是不是创意十足?解密她的代码凉安在同一家公司就职10年,跟唯一恋爱对象结婚生子,如果程序媛有不同种类型的话,那她一定是最“专一”的那位。你从她的代码里解读到了什么呢?解密她的代码聆一这位可爱的程序媛是一名前端开发,她用代码展示了她一贯的人生态度。解密她的代码米悠这位程序媛不仅代码写得好,还是一位超敬业超有爱的程序媛妈妈。解密她的代码念卿人生从来不止眼前的枸杞,还有远方...

openssl生成https证书 (转)

1.首先要生成服务器端的私钥(key文件):opensslgenrsa-des3-outserver.key1024运行时会提示输入密码,此密码用于加密key文件去除key文件口令的命令:opensslrsa-inserver.key-outserver.key2.opensslreq-new-keyserver.key-outserver.csr-configopenssl.cfg生成CertificateSigningRequest(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.3.对客户端也作同样的命令生成key及csr文件:opensslgenrsa-des3-outclient.key1024opensslreq-new-keyclient.key-outclient.csr-configopenssl.cfg4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证.自己生成:opensslreq-new-x509-keyoutca.key-outca.crt-conf...
代码星球 代码星球·2021-02-24

oracle调用java方法的例子(下面所有代码都是在sql/plus中写)

在Oracle中调用Java程序,注意:java方法必须是static类型的,如果想在JAVA中使用system.out/err输出log.需要在oracle中执行"calldbms_java.set_output(5000);".一、helloWord1编写JAVA程序,也是在SQL/PLUS中写,并执行.createorreplaceandcompile Java sourcenamedhelloas public    class  Hello   {        static   public   StringMessage(Stringname)   {           ret...

阿里云代码管理平台 Teambition Codeup(行云)亮相,为企业代码安全护航

2019杭州云栖大会企业协作与研发效能专场,企业协同平台Teambition负责人齐俊元正式发布阿里云自研的代码管理平台TeambitionCodeup(行云),Codeup是一款企业级代码管理产品,提供代码托管、代码评审、代码扫描、质量检测等功能,通过智能算法保护企业资产安全、稳定、高效交付。Teambition负责人齐俊元在代码资产安全保护方面,Codeup首次结合人工智能技术实现代码中的敏感信息检测,通过多层风控模型并结合传统防治方式提供企业级安全保障,具备事前可防控,事后可追溯的能力。Codeup平台的技术负责人陈鑫表示,Codeup在阿里巴巴内部已运行近3年,统一管理阿里巴巴的代码资产,服务过阿里全部核心业务包括淘宝、天猫、阿里云等,此次是首次面向业界的开发者开放,希望借此帮助提升行业整体研发效率。Codeup不仅支持与持续集成流水线的打通,实现开发、构建在应用内的闭环,还将与Teambition的项目管理、知识库打通,真正实现一站式产品研发,帮助开发者实现工作全流程的数字化和自动化。一站式产品研发解决方案框架图未来Codeup针对企业级场景会提供更加丰富的能力,利用人工智能...

阿里0代码开发平台“宜搭”亮相杭州云栖大会,现场观众体验30秒拼搭应用!

被称为史上“最程序员”的杭州云栖大会今天在杭州云栖小镇正式开幕了。两天两场主论坛、110余场峰会和分论坛、20000平方米的展区呈现最前沿的科技。在今年云栖展台上,一个“不用写代码也能开发应用”的产品也吸引了大批到场嘉宾目光。不少观众甚至上手“玩”起应用拼搭。最快30秒就搭建了一个审批流程。(图:现场观众咨询宜搭解决方案)这是阿里巴巴内部经过2年多孵化出0代码开发平台“宜搭”,开发者在可视化界面上,以拖拉拽的方式编辑和配置页面、表单与流程,并且一键发布在PC和手机端。即便不会写代码的人也能轻松搭建应用。(图:现场观众拖拽搭建应用)以差旅报销流程为例,通过传统开发模式,完成同类的应用,大约需要开发2~3周,用宜搭配置只需1小时即可完成,大大降低了开发周期及人力资源的投入。据了解,今年3月,宜搭作为阿里云SaaS加速器的重要底座,已正式上云对外服务各大企业。截止目前,已有超过1000家企业使用宜搭搭建应用,覆盖新零售、酒店、生产制造、医疗、能源、教育等六大行业领域。表单、流程快速搭建的背后,是宜搭强大、开放的生态PaaS能力,这也是宜搭区别于市面上其他同类产品的核心。宜搭经过不断迭代升级,...

消灭 Java 代码的“坏味道”

明代王阳明先生在《传习录》谈为学之道时说:/私欲日生,如地上尘,一日不扫,便又有一层。着实用功,便见道无终穷,愈探愈深,必使精白无一毫不彻方可。代码中的"坏味道",如"私欲"如"灰尘",每天都在增加,一日不去清除,便会越累越多。如果用功去清除这些"坏味道",不仅能提高自己的编码水平,也能使代码变得"精白无一毫不彻"。这里,整理了日常工作中的一些"坏味道",及清理方法,供大家参考。1.1.需要Map的主键和取值时,应该迭代entrySet()当循环中只需要Map的主键时,迭代keySet()是正确的。但是,当需要主键和取值时,迭代entrySet()才是更高效的做法,比先迭代keySet()后再去get取值性能更佳。反例:Map<String,String>map=...;for(Stringkey:map.keySet()){Stringvalue=map.get(key);...}正例:Map<String,String>map=...;for(Map.Entry<String,String>entry:map.entrySet()){String...
代码星球 代码星球·2021-02-24

中国 SaaS 企业如何突围?这几点是关键!

进入2019年,关于SaaS的各种言论甚嚣尘上,有人看好:“SaaS市场得大客户者得天下”,也有人唱衰:“SaaS已死,下一个”。在众说纷纭中,中国SaaS企业的成功之路迷雾重重,前期走的较早的头部SaaS已经掘到了第一桶金,后面跟随的大部队仍在不断摸索方向,似是举步维艰。大变革之际,如何抓住机遇——能力、选择、借势是关键。那么,何为中国SaaS企业的突围之道?从宏观角度来讲,我认为无外乎是认清市场规模、抓住行业机遇和挖掘发展模式,而后两位实际上是相辅相成的。2018年,中国企业级SaaS整体市场规模约为250亿元,较上年增长47.9%,预计未来三年复合增长率将接近40%。由艾瑞咨询研究院推出的《中国企业级SaaS行业研究报告》也指出,尽管中国企业级SaaS不会出现类似2C市场的爆发式增长,但软件SaaS化是大势所趋,未来潜在市场空间巨大。今年7月的阿里云合作伙伴上海峰会上,阿里云资深技术专家黄省江也曾预测,整个SaaS类的业务在中国市场今后几年会经历一个超常规的高速发展。这种高速发展和通常理解意义上的高速发展不一样,不一定以美国成熟市场的CRM、ERP或者供应链管理软件等等这一系列的...

修改代码150万行!与 Blink 合并后的 Apache Flink 1.9.0 究竟有哪些重大变更?

8月22日,ApacheFlink1.9.0正式发布,早在今年1月,阿里便宣布将内部过去几年打磨的大数据处理引擎Blink进行开源并向ApacheFlink贡献代码。当前Flink1.9.0是阿里内部版本Blink合并入Flink后的首次发版,修改代码150万行,此次发版不仅在结构上有重大变更,在功能特性上也更加强大与完善。本文将为大家介绍Flink1.9.0有哪些重大变更与新增功能特性。在此先简单回顾一下阿里巴巴Blink开源的部分要点:Blink开源的内容主要是阿里巴巴基于开源Flink引擎,依托集团内部业务,在流计算和批处理上积累的大量新功能、性能优化、稳定性提升等核心代码Blink以分支的形式开源,即开源后会成为ApacheFlink项目下的一个分支。Blink开源的目标不是希望成为另一个活跃的项目,而是将Flink做的更好。通过开源的方式让大家了解所有Blink的实现细节,提高Blink功能merge进入Flink的效率,与社区协作更高效。半年的时间过去了,随着Flink1.9.0版本的发布,在此我们可以骄傲的宣布:Blink团队已经实现了之前的诺言!尽管不是所有功能都顺利m...

confd + Nacos | 无代码侵入的配置变更管理

为什么要支持confd,老的应用配置管理模式是启动时读取配置文件,然后重新读取配置文件需要应用重启。一般的配置管理系统都是代码侵入性的,应用接入配置管理系统都需要使用对应的SDK来查询和监听数据的变更。对于一些已经成熟的系统来说,接入SDK来实现动态配置管理是很难实现的,Nacos通过引入配置管理工具confd可以实现系统的配置变更做到无代码侵入性。confd是一个轻量级的配置管理工具,可以通过查询后端存储系统来实现第三方系统的动态配置管理,如Nginx、Tomcat、hHaproxy、Docker配置等。confd目前支持的后端有etcd、Zookeeper等,Nacos1.1版本通过对confd定制支持Nacos作为后端存储。confd能够查询和监听后端系统的数据变更,结合配置模版引擎动态更新本地配置文件,保持和后端系统的数据一致,并且能够执行命令或者脚本实现系统的reload或者重启。confd的安装可以通过源码安装方式,confd基于Go语言编写,其编译安装依赖Go,首先需要确保本地安装了Go,版本不低于v1.10创建confd目录,下载confd源码,编译生成可执行文件mkd...

PyODPS DataFrame 的代码在哪里跑

在使用PyODPSDataFrame编写数据应用时,尽管编写的是同一个脚本文件,但其中的代码会在不同位置执行,这可能导致一些无法预期的问题,本文介绍当出现相关问题时,如何确定代码在何处执行,以及提供部分场景下解决问题的方法。假定我们要执行下面的代码:fromodpsimportODPS,optionsimportnumpyasnpo=ODPS(access_id,access_key,project,endpoint)df=o.get_table('pyodps_iris').to_df()coeffs=[0.1,0.2,0.4]defhandle(v):importnumpyasnpreturnfloat(np.cosh(v))*sum(coeffs)options.df.supersede_libraries=Trueval=df.sepal_length.map(handle).sum().execute(libraries=['numpy.zip','other.zip'])print(np.sinh(val))在开始分析之前,首先需要指出的是,PyODPS是一个Python包...

K8s中Pod健康检查源代码分析

Liveness: 表明是否容器正在运行。如果liveness探测为fail,则kubelet会kill掉容器,并且会触发restart设置的策略。默认不设置的情况下,该状态为success.Readiness: 表明容器是否可以接受服务请求。如果readiness探测失败,则endpoints控制器会从endpoints中摘除该PodIP。在初始化延迟探测时间之前,默认是Failure。如果没有设置readiness探测,该状态为success。基于Kubernetes1.11.01.启动探测在kubelet启动是时候会启动健康检查的探测:kubelet.go中Run方法...kl.probeManager.Start()//启动探测服务...2.看一下probeManager都做了哪些事情prober_manager.go中我们看一下这段代码://Managermanagespodprobing.Itcreatesaprobe"worker"foreverycontainerthatspecifiesa//probe(AddPod).Theworkerperio...

从HelloWorld看Knative Serving代码实现

/摘要: KnativeServing以Kubernetes和Istio为基础,支持无服务器应用程序和函数的部署并提供服务。我们从部署一个HelloWorld示例入手来分析KnativeServing的代码细节。官方给出的这几个资源的关系图还是比较清晰的:1.Service:自动管理工作负载整个生命周期。负责创建route,configuration以及每个service更新的revision。通过Service可以指定路由流量使用最新的revision,还是固定的revision。2.Route:负责映射网络端点到一个或多个revision。可以通过多种方式管理流量。包括灰度流量和重命名路由。3.Configuration:负责保持deployment的期望状态,提供了代码和配置之间清晰的分离,并遵循应用开发的12要素。修改一次Configuration产生一个revision。4.Revision:Revision资源是对工作负载进行的每个修改的代码和配置的时间点快照。Revision是不可变对象,可以长期保留。我们开始运行官方hello-world示例,看看会发生什么事...
首页上一页...45678...下一页尾页