• 关于

    参考配置如何看配置

    的搜索结果

问题

如何让EDAS支持SSL呢

tryer 2019-12-01 19:52:15 952 浏览量 回答数 1

回答

说明 我们在创建应用以后在应用的概览中看到应用网关和授权回调地址不知道该怎么使用(如下图) 名词解释 应用网关:用于接收由支付宝服务器通知。 主要使用接口:生活号接口和口碑门店被动通知,以及单笔转账到支付宝账户和现金红包的异步通知。 注意:如果您现在开发的接口不是生活号,口碑开店,请勿配置应用网关,如果已经配置可以删除或者不管也不会对您开发的接口有任何影响。 单笔转账到支付宝账户和现金红包的异步通知,您可以在后续开发接口时,进行设置,创建应用时可先忽略不设置。 授权回调地址:顾名思义仅用于授权接口。 主要使用接口:第三方应用授权和用户信息授权 注意:如果您现在开发的接口不是第三方应用授权,用户信息授权,请勿配置第三方应用授权链接,如果已经配置放在那里不会对您开发的接口有任何影响。 不管是授权回调地址还是应用网关都是需要传入http或是https开头的网页地址。 常见接口配置疑问 1、电脑网站,手机网站。app支付,当面付,这些接口都不需要填写应用授权回调地址和应用网关,直接提交应用审核上线即可 特别提醒!!!:只有口碑开店,生活号、单笔转账到支付宝账户和现金红包用到应用网关。只有第三方应用授权和用户信息授权用到授权回调地址 2、小程序怎么没有配置授权回调地址的位置? 小程序应用没有授权回调地址配置入口,不支持配置授权回调地址。 配置方式 那么您可能有疑问了?如果我的就是生活号接口,口碑开店等或第三方应用授权和用户信息授权接口该如何配置? 您应该这样做 (1)先不填写应用网关或授权回调地址,提交应用先审核通过。 (2)查看需要开发的接口文档,先做到对接口了然于胸,看完开发文档和下方帖子引导您就应该明白如何配置和使用了。 1、应用网关配置 (1)单笔转账到支付宝账户和现金红包请参考 单笔转账到支付宝账户和现金红包配置应用网关是为了接收异步通知,因此配置要求和支付接口的notify_url配置要求一致,必须外网post访问为http200。 具体详见支付宝异步通知说明。 (2)生活号请参考 生活号验证应用网关,具体详见激活开发者模式。 (3)口碑开店请参考 alipay.offline.market.shop.create(创建门店信息):【点击查看】 查看operate_notify_url参数说明 具体口碑相关问题建议咨询口碑客服: 口碑店铺客服联系方式: 口碑服务热线为:400-826-7710; 口碑业务客服在线入口可点击进入; 口碑技术客服在线入口可点击进入。 2、授权回调地址配置 (1)第三方应用授权 请将授权回调地址配置在“第三方应用”的【授权回调地址】中。 (2)用户信息授权 请将授权回调地址配置在相对应应用(不局限应用类型)的【授权回调地址】中。 注:小程序应用没有授权回调地址配置入口。 授权回调地址配置要求 (1)以https://或http://开头,不支持scheme地址配置。 (2)提供只验证域名的能力,但是该配置仅在用户授权业务生效(第三方应用授权不生效) 如果选择只验证域名,则只验证域名级别,不验证域名后面的内容,配置域名建议与授权回调链接一致。 详细见平台授权回调地址说明

保持可爱mmm 2020-05-05 16:12:04 0 浏览量 回答数 0

回答

你把你的Servlet配置成不经过com.jfinal.core.JFinalFilter这个Filter 应该是可以的吧###### 引用来自“Missher”的答案 你把你的Servlet配置成不经过com.jfinal.core.JFinalFilter这个Filter 应该是可以的吧 可以了,参考了http://www.oschina.net/question/203191_66468 ######   在 web.xml 中,将 Servlet 配置放在 JFinalFilter 之前######单纯的更改filter声明的位置,是不能解决问题的。只能依靠 urlskiphandler 了servlet jsr声明filter的执行顺序会先于servlet######你是 如何解决的 ,求demo ###### 引用来自“云的乐乐”的答案 你是 如何解决的 ,求demo 参考了http://www.oschina.net/question/203191_66468这个来做的,你试试看吧

kun坤 2020-06-02 15:43:01 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

你把你的Servlet配置成不经过com.jfinal.core.JFinalFilter这个Filter 应该是可以的吧###### 引用来自“Missher”的答案 你把你的Servlet配置成不经过com.jfinal.core.JFinalFilter这个Filter 应该是可以的吧 可以了,参考了http://www.oschina.net/question/203191_66468 ######   在 web.xml 中,将 Servlet 配置放在 JFinalFilter 之前######单纯的更改filter声明的位置,是不能解决问题的。只能依靠 urlskiphandler 了servlet jsr声明filter的执行顺序会先于servlet######你是 如何解决的 ,求demo ###### 引用来自“云的乐乐”的答案 你是 如何解决的 ,求demo 参考了http://www.oschina.net/question/203191_66468这个来做的,你试试看吧

kun坤 2020-06-14 16:04:40 0 浏览量 回答数 0

回答

Re在 Windows 2008 系统为 phpstudy apache 不同网站配置不同SSL证书(SNI) 哥你知道吗,我找这个帖子已经找了块一年了 ------------------------- Re在 Windows 2008 系统为 phpstudy apache 不同网站配置不同SSL证书(SNI) 我想问一下,这个phpstudy 配置证书的方式 同样的用到 WampServer 上是不是也是可以的 ------------------------- Re在 Windows 2008 系统为 phpstudy apache 不同网站配置不同SSL证书(SNI) 是 wampserver 2.5的版本 ------------------------- Re在 Windows 2008 系统为 phpstudy apache 不同网站配置不同SSL证书(SNI) 这个是我配置的phpstudy上的,这样是正确的吗 ------------------------- 回 15楼dongshan8的帖子 额,不用了哥,这是我wamp是我本地测试用的。我服务器上用的PHPstudy ,您帮我看看,我下边配置的这样正不正确,因为阿里给的参考是这样的: SSLProtocol TLSv1 TLSv1.1 TLSv1.2 # 修改加密套件如下 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4 # 证书公钥配置 SSLCertificateFile cert/public.pem # 证书私钥配置 SSLCertificateKeyFile cert/213995449980478.key # 证书链配置,如果该属性开头有 '#'字符,请删除掉 SSLCertificateChainFile cert/chain.pem 需不需要加路径呢和引号呢,还有就是,我这样配置了,怎么样测试我的证书成功了呢 ------------------------- Re在 Windows 2008 系统为 phpstudy apache 不同网站配置不同SSL证书(SNI) 您好,证书我重新配置的。帮忙看下这样是否正确,您所属的虚拟站点是指的那一部分。我对这些不是很懂,见谅 ------------------------- Re在 Windows 2008 系统为 phpstudy apache 不同网站配置不同SSL证书(SNI) 谢谢了,我还有一个问题,就是phpstudy 443端口没有监听,如何开启443端口的监听

jingyun 2019-12-01 23:57:49 0 浏览量 回答数 0

回答

"你把你的Servlet配置成不经过com.jfinal.core.JFinalFilter这个Filter 应该是可以的吧######<div class=""ref""> 引用来自“Missher”的答案 你把你的Servlet配置成不经过com.jfinal.core.JFinalFilter这个Filter 应该是可以的吧 可以了,参考了http://www.oschina.net/question/203191_66468 ######   在 web.xml 中,将 Servlet 配置放在 JFinalFilter 之前######单纯的更改filter声明的位置,是不能解决问题的。只能依靠 urlskiphandler 了servlet jsr声明filter的执行顺序会先于servlet######你是 如何解决的 ,求demo ###### 引用来自“云的乐乐”的答案 你是 如何解决的 ,求demo 参考了http://www.oschina.net/question/203191_66468这个来做的,你试试看吧 "

montos 2020-06-03 22:33:55 0 浏览量 回答数 0

回答

"你把你的Servlet配置成不经过com.jfinal.core.JFinalFilter这个Filter 应该是可以的吧######<div class=""ref""> 引用来自“Missher”的答案 你把你的Servlet配置成不经过com.jfinal.core.JFinalFilter这个Filter 应该是可以的吧 可以了,参考了http://www.oschina.net/question/203191_66468 ######   在 web.xml 中,将 Servlet 配置放在 JFinalFilter 之前######单纯的更改filter声明的位置,是不能解决问题的。只能依靠 urlskiphandler 了servlet jsr声明filter的执行顺序会先于servlet######你是 如何解决的 ,求demo ###### 引用来自“云的乐乐”的答案 你是 如何解决的 ,求demo 参考了http://www.oschina.net/question/203191_66468这个来做的,你试试看吧 "

montos 2020-06-01 17:52:59 0 浏览量 回答数 0

问题

手把手教你nginx下如何增加网站

elbert 2019-12-01 20:03:13 61230 浏览量 回答数 40

回答

" 这个异常应该和源码没有关系。 class文件结构里最开头4字节是Magic Number,也就是0xCAFEBABE。 后面接的4个字节就是题主异常信息中的Minor version和Major version。 第5、第6是Minor version,第7、第8则是Major version。 而Java的版本号是从45开始的,参考: J2SE 8 = 52, J2SE 7 = 51, J2SE 6.0 = 50, J2SE 5.0 = 49, JDK 1.4 = 48, JDK 1.3 = 47, JDK 1.2 = 46, JDK 1.1 = 45 真不知道知道这些有什么用,题主试试用Java7以上编译。 参考:http://en.wikipedia.org/wiki/Java_class_file###### java 版本不对###### 源码的话,应该没问题,如果是这样报错的话,我遇到过,是因为环境变量和conf文件指定的问题,找不到你所指定的URLCat这个类,你只要配置好你所需要使用的集群的配置文件,并且指定好对应集群的客户端,以及相关的各种库就可以了,当时我也是搞了很久,在书上对配置的东西弱化了,没怎么讲,只能自己去实践。 你可以参考一下这个文章:http://segmentfault.com/blog/akunamatata/1190000002610514 这里面详细讲了如何配置环境变量,编译,执行,以及如何指定配置文件###### 从异常提示的信息的来看就是不支持的class文件版本异常,建议更换更高版本的jdk" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/6b33e51e20354f0cb29e0d35a8d70fca.png)

因为相信,所以看见。 2020-05-27 10:09:01 0 浏览量 回答数 0

回答

不设置 shell 就行######能详细点不,我是小白呢######useradd 加参数 -s /usr/sbin/nologin######配置目录访问权限这个必须登录系统才可以配置,所以你的配置是不成立的######我用root登录给他配啊######/etc/passwd ######回复 @hyxj1220 : 但是也登录不上sftp了啊######回复 @hyxj1220 : 谢谢,我好好看看######http://www.2cto.com/os/201203/124531.html######这个查看用户的俺知道,咋让他不能登陆系统呢,而能sftp呢######ssh本身就需要系统用户权限,但是你又不想给他系统用户权限 ######+1 .不能登陆系统又怎么能ssh传输文件呢###### 就是搞个SFTP啦。 参考资料: Ubuntu Server如何配置SFTP  http://yhf8377.blog.163.com/blog/static/176860177201210217219800/ ######回复 @快银闪电侠 : 恩恩,受教了######回复 @hphper : 自己看了。参考资料有了。关键词也有了。搜索引擎再不会用就不要混IT了。######咋搞呀?######http://serverfault.com/questions/354615/allow-sftp-but-disallow-ssh

kun坤 2020-06-14 15:58:03 0 浏览量 回答数 0

回答

流程性的代码建议注解,功能性的代码建议xml,个人使用经验参考参考######xml方便维护和管理,annotation方便开发 哈哈###### 引用来自“java_cmm”的答案 xml方便维护和管理,annotation方便开发 哈哈 好维护和好管理的系统,XML配置文件不是神马关键因素 ######当后期维护开发人员要去一个个类中找注解时 是件十分蛋疼的事 呵呵###### ”xml方便维护和管理“ 不方便吧。 解析XML很影响性能的。###### xml 配置就像一本书的目录,让人对项目情况一目了然。 虽然速度效率会比注解慢一点点,但是利于以后维护 为了开发速度,放弃xml配置,我觉得后患无穷###### xml是集中式的配置,注解是分散式的配置,没有哪个更好,只有哪个更适合。 代码量小、人员少的项目比较适合使用注解,稍微大点的项目,还是老老实实的用xml吧。 最新的servlet3.0规范允许放弃web.xml,使用全注解配置,个人觉得还是谨慎使用吧。######回复 @helloming : +1######+1 深表赞同######你要把预定优于配置弄清楚了 就知道哪个好了 ######个人也是非常赞同“约定优于配置”的理念,必要的东西该配置就配置,不必要的比如实体类与数据库列名的映射,坚决使用JPA注解,因为这种东西不需要什么灵活性~ ######个人认为两种各有优点,并且不大能完全替代对方吧###### 注释与注解的区别   注释:对代码没有影响。对代码起到解释、说明的作用。它有三种形式: 1、// 表示单行注释 2、 表示块注释 3、 表示文档注释        可以生成java.doc 注解:参与代码编译,以@开头的。它是给应用程序看的,单独使用注解毫无意义,一定要跟工具一起使用,这个所谓的工具实际就是能读懂注解的应用程序 1)如何定义一个注解 注解可以修饰方法,可以修饰类,可以修饰属性 //定义注解只能修饰方法 @Target(value=METHOD) //定义注解的生命周期,只能活在源代码中 @Retention(value=SOURCE)

kun坤 2020-06-20 13:45:03 0 浏览量 回答数 0

回答

你的问题确实是因为该站点没有配置到正确的证书,用的是你自己的证书。你可以在自己的测试环境删掉自己的原来的那张自己签名的证书,然后看看新证书是否生效,我是使用这个命令可以查看到你的证书配置错误:openssl s_client -connect www.parkingto.com:443CONNECTED(00000003)depth=0 /CN=AY140302205818Zverify error:num=20:unable to get local issuer certificateverify return:1depth=0 /CN=AY140302205818Zverify error:num=21:unable to verify the first certificateverify return:1Certificate chain 0 s:/CN=AY140302205818Zi:/CN=AY140302205818ZServer certificate-----BEGIN CERTIFICATE-----MIIC4jCCAcqgAwIBAgIQX/Wi63qdPKFNHYihNJ8heTANBgkqhkiG9w0BAQUFADAaMRgwFgYDVQQDEw9BWTE0MDMwMjIwNTgxOFowHhcNMTYwNDA3MDYwOTE4WhcNMTcwNDA3MDAwMDAwWjAaMRgwFgYDVQQDEw9BWTE0MDMwMjIwNTgxOFowggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCU3yutExmjjySdCrPhnNTZAtPIT72H683+uddd8Hi2W9Ztu75xD6Eo0nfXBDkexGCt9ZPrJ3CGoUvZ+B9jFZLNzbpotdpTnikS3Axz+Qc+6mZWynBrVPp+5DNVyOhANMl89XEucHZpqvHJgzW9MUhb+dcOpE/xqE7M181hWDmhpWeSKfMcsL7oXjhJ2BRg7Y4v8daFSysHSzI7Au8mBDrgo2CIl1i3nEETtL+cl67b1c8oFtWQhiWy5bZIW48aNpbz1HNed5ShhaezYfRnIfesg8XSScGAxGfoTVyjGLRaAXbdm+wKyXvDUh/xDh2Z8f+YSqPwUWN2OIsR2lmtpFTBAgMBAAGjJDAiMAsGA1UdDwQEAwIEMDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0BAQUFAAOCAQEAOTWweKPG9u1Uyb/WZFNDeztlNHAy7JbUtDtYvnaTThcBRrPg6BWBzubJPlIYV19g1wiEnyGs8jRalSWvgLfoyEDyo5I4m7U9S0v48y4H4dwJY2esxrfFidXY7GIJvdcBbzAdONL4H97G/L8ikpqgMS/c4E+uZvSLCNvjLUFGtTXiFQhvrJ4VRI/Ygclz+Rb72EiPJlF86ddZV3bmIqffLtKq7g/i/ZdbqfiHopeVbh6TEpW46+f6DeEfbwcgIUsqqkd82ljIW8wbyouL+vPz49bM4Yp/QdiWCoMlUYAs1W8TVCqlC92rE5brlwruP5CZeZaUciunuToEUWV0hDZvaA==-----END CERTIFICATE-----subject=/CN=AY140302205818Zissuer=/CN=AY140302205818ZNo client certificate CA names sentSSL handshake has read 901 bytes and written 456 byte另外如果对IIS配置证书不熟悉,可以参考《https权威指南》里面的《配置 Microsoft Windows 和 IIS》章节,里面有详细的介绍,包括如何配置证书,如何选择算法:

李振宇 2019-12-01 23:24:05 0 浏览量 回答数 0

回答

楼主您好, 欢迎来到阿里云论坛。 您可以参考一下楼上的建议,或看看这个文章:《如何在Apache环境下配置Rewrite规则》, http://faq.comsenz.com/viewnews-12

dongshan8 2019-12-02 02:40:36 0 浏览量 回答数 0

问题

pptpd如何指定大量可用IP地址

a123456678 2019-12-01 20:06:27 1108 浏览量 回答数 1

回答

楼主您好, 一般来说,在IIS 7里配置fascgi + php方式中, cgi.fix_pathinfo 的值 应该是 1,而不是 0。 请参考这里:Using FastCGI to Host PHP Applications on IIS 7, http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/using-fastcgi-to-host-php-applications-on-iis ------------------------- 回 2楼(金金金) 的帖子 您好, 从微软官方的文档和php.net的文档来看, 默认或建议是将 cgi.fix_pathinfo 设置为 1的,至于如何防止被挂马,或许您需要参考更多的安全设置指引喔。 链接: 1. 《 将 FastCGI 配置为主机 PHP 应用程序 (IIS 7) 》 2. 《 Windows 系统下的安装 》

dongshan8 2019-12-02 00:52:31 0 浏览量 回答数 0

问题

MaxCompute用户指南:数据上传下载:通过数据集成导入/导出

行者武松 2019-12-01 22:01:54 1749 浏览量 回答数 0

问题

云效使用指南:持续交付:构建:Docker镜像构建配置

行者武松 2019-12-01 22:00:16 1450 浏览量 回答数 0

回答

Rewdcp面板中的tmpfs是干什么用的和如何开启swap分区 系统是linux系统 最低配置 10G的数据盘 ------------------------- Rewdcp面板中的tmpfs是干什么用的和如何开启swap分区 人工置顶一下 帮忙看下这个如何开启SWAP啊 ------------------------- Rewdcp面板中的tmpfs是干什么用的和如何开启swap分区 这个算是已经有swap了吗  这个该怎么开启呢? ------------------------- 回4楼梦丫头的帖子 wdcp里面有设置的选项吗?我在网上找的教程 弄了下 swap 显示有了~~不知道能不能用 ------------------------- 回6楼相当神秘的帖子 http://blog.csdn.net/asx20042005/article/details/7255659 参考下这里! 看看我网站效果如何! www.lizibook.com

寂寞猫 2019-12-02 02:17:39 0 浏览量 回答数 0

回答

"不设置 shell 就行######能详细点不,我是小白呢######useradd 加参数 -s /usr/sbin/nologin######配置目录访问权限这个必须登录系统才可以配置,所以你的配置是不成立的######我用root登录给他配啊######/etc/passwd ######回复 <a href=""http://my.oschina.net/hyxj12220"" class=""referer"" target=""_blank"">@hyxj1220 : 但是也登录不上sftp了啊######回复 <a href=""http://my.oschina.net/hyxj12220"" class=""referer"" target=""_blank"">@hyxj1220 : 谢谢,我好好看看######http://www.2cto.com/os/201203/124531.html######这个查看用户的俺知道,咋让他不能登陆系统呢,而能sftp呢######ssh本身就需要系统用户权限,但是你又不想给他系统用户权限 <img src=""http://www.oschina.net/js/ke/plugins/emoticons/images/27.gif"" alt="""" />######+1 .不能登陆系统又怎么能ssh传输文件呢###### 就是搞个SFTP啦。 参考资料: Ubuntu Server如何配置SFTP  http://yhf8377.blog.163.com/blog/static/176860177201210217219800/ ######回复 @快银闪电侠 : 恩恩,受教了######回复 @hphper : 自己看了。参考资料有了。关键词也有了。搜索引擎再不会用就不要混IT了。######咋搞呀?######http://serverfault.com/questions/354615/allow-sftp-but-disallow-ssh"

montos 2020-06-03 22:27:59 0 浏览量 回答数 0

回答

你好,有关虚拟机无法远程接入的问题,有几点建议,你可以参考下:1. 确定能否登陆到azure 管理界面,看看虚拟机的运行状态以及相关配置,比如端口是否打开等等。2. 检查下本地防火墙设置是否正确。3. 对于在azure 上创建虚拟机的时候,如果有安装VmAgent,可以来重置ssh 设置。可以参考以下文章: https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-use-vmaccess-reset-password-or-ssh/如果以上步骤都试过,还是不能 远程连接虚拟机的话,那就找运行商解决。 如何联系世纪互联,已知的联系途径有:400-089-0365010-84563652 https://windowsazure.cn/zh-cn/support/support-ticket-form/如果您想进一步了解Windows Azure, Windows Azure 官网欢迎您的访问

杨冬芳 2019-12-02 03:07:54 0 浏览量 回答数 0

回答

少包,把需要的jar包都导入就可以了,看你那里有个libs,看看里面有没有jar包,直接复制到WEB-INF/lib下面,或者在JavaBuildPath里面添加下。 这类问题都是JKD环境及依赖JAR配置的问题,如有需要,可以参考这篇了解如何快速上手一个java项目的知识。具体修正方法为: 此外,还有一个Problems视图里面可以看到全部的错误信息,在views->problems中,可以帮助定位问题。

爱吃鱼的程序员 2020-06-23 01:02:12 0 浏览量 回答数 0

回答

概述 1.1 媒体工作流的作用 媒体工作流支持截图、转码、转封装、水印、剪辑等功能,使您可以快速、灵活、按需搭建云端音视频处理流程;在媒体工作流开始执行和完成执行时,支持向指定的消息队列或消息通知发送工作流执行信息。具体包括以下功能:输入bucket路径,转码配置,截图配置,发布配置及消息通知配置。 消息服务检测到输入bucket路径中存在资源增量输入,就会触发媒体工作流中的转码或者截图任务进行转码及截图,对应的任务完成,如果您的输入配置中配置了消息服务的通知或者队列即会在工作流执行实例的开始和结束时通过消息服务发送消息供用户业务逻辑判断,而对应的转码或者截图结果将存储到工作流配置的输出bucket中。 1.2 媒体工作流配置流程 用户可以登陆控制台,在工作流管理中选择配置方案—>输入设置—>转码设置/截图设置/分析及转码设置—>发布设置—>配置cdn加速; 1 1.3 配置方案介绍 2 预置配置方案包括了:M3U8切片工作流,预置智能模板工作流,多码率多格式工作流,FLV多码率工作流,M3U8多码率工作流,MP4多码率工作流,以上工作流其实就是分析转码截图任务节点的组合,用户可以根据需求选择对应的组合或者自定义组合。 3 输入设置 2.1 输入设置基础设置 点击输入节点上的“铅笔”按钮—>进入输入配置页面—>选择输入bucket,转码管道,消息类别,填入输入路径,基础配置就完成了。 45 2.2 输入bucket设置 点击“选择”按钮可以进入到OSS文件管理页面,用户可以选择需求的bucket及bucket下的某个文件夹作为输入路径(文件夹选定后,会自动补全到输入路径的文本框中)。 6 输入bucket选择注意事项 在哪个区域新建工作流,对应的输入bucket也只能是对应区域的bucket,别的区域的bucket不能选择; 输入bucket中的可选择bucket,必须源自媒体bucket的输入bucket,媒体bucket如何添加,请看视频点播初始化设置文档; 输入路径是可编辑的,但注意目录的设置不需要以/结尾,如想存储资源到1目录下的2目录,那么对应的输入路径便为1/2/,而不是1/2; 目前工作流只支持在华东1,华东2,华北1,华南1 区域; 2.3 转码管道设置 转码管道,是处理转码作业的管道,选择对应的管道即可。关于管道的具体意义请参考:《视频点播的初始化设置》。 转码管道限制: 目前每个用户在每个服务可用域拥有1个管道; 每个管道可最多可容纳10000个排队作业; 每个管道最多可同时处理的作业不超过分配给该管道的转码资源数; 2.4 消息类别设置 其中消息类别分为:队列和通知。消息类别可以不进行设置。队列创建看【队列创建】; 通知创建看【通知创建】;队列与通知的区别请看【队列与通知的区别】;队列与通知的消息消费看【队列与通知的消息消费】;选择通知后,可以选择对应的通知名称,也可以增加通知。7选择队列后,可以选择对应的队列,也可以增加队列。8 转码设置 3.1 转码设置基础设置 点击转码按钮上的“铅笔”按钮—>进入基础配置页面—>选择转码模板,输出bucket,是否使用水印,填入输出路径,基础配置就完成了。1011 3.2 转码模板设置 点击选择按钮—>进入转码模板页面—>选择转码模板。转码模板分为预置静态模板及自定义模板。视频点播的转码模板源自媒体转码MTS的转码模板,也可以在视频点播初始化设置的时候添加。预置静态模板介绍看【预置静态模板】 12 转码模板选择注意事项 转码为不同的格式,建议选择转码模板,而不是转码封装模板,否则可能会有转码失败的可能。 3.3 输出bucket设置 点击选择按钮—>进入OSS文件管理页面—>选择输出bucket及对应的输出文件夹。13 输出bucket选择注意事项 在哪个区域新建工作流,对应的输出bucket也只能是对应区域的bucket,别的区域的bucket不能选择; 输出bucket中的可选择bucket,必须源自媒体bucket的输出bucket,媒体bucket如何添加,请看视频点播初始化设置文档; 输出路径是可编辑的,但注意目录的设置不需要以/结尾,如想存储资源到1目录下的2目录,那么对应的输出路径便为1/2/,而不是1/2; 目前工作流只支持在华东1,华东2,华北1和华南1 四个区域; 3.4 使用水印设置 水印设置是为用户的转码视频添加水印,用户可以选择对应的水印模板或者不使用水印。水印模板选择后,选择对应的水印图片—>进入OSS管理页面—>选择bucket中的图片。水印模板源自媒体转码MTS的水印模板,也可以在视频点播初始化设置的时候添加。14 注意: 水印图片所在bucket源自媒体bucket中的输出bucket。 4. 截图设置 4.1 截图设置基础设置 点击截图按钮上的“铅笔”标识—>进入截图页面—>选择是否进行多张截图,输出bucket,开始时间,是否设置为封面,是否截取关键帧,设置截图时间间隔,截图数量,输出路径,图片宽度,高度。1516 截图基础配置注意事项: 多张截图:表示是否开启多张截图,多张截图开启后,可以设置截图数量及截图间隔; 开始时间,表示从什么时间点开启截图,注意设置开始时间不要大于视频总时长,不然是不会截图的; 设置封面:表示对应的截图是否设置为封面,如果开启多张截图,默认第一张截图设置为封面; 关键帧:表示是否只截取关键帧的图片,截取非关键帧的图片,图片可能会存在模糊损坏的现象; 图片宽度高度表示截取图片的宽高; 4.1 输出bucket设置 点击选择按钮—>进入OSS文件管理页面—>选择输出bucket及对应的输出文件夹。17 输出bucket选择注意事项 在哪个区域新建工作流,对应的输出bucket也只能是对应区域的bucket,别的区域的bucket不能选择; 输出bucket中的可选择bucket,必须源自媒体bucket的输出bucket,媒体bucket如何添加,请看视频点播初始化设置文档; 输出路径是可编辑的,在选择bucket并选择文件夹后,对应的输出路径默认为:文件夹名称/ {RunId}/{SnapshotTime}/{Count}.jpg,{RunId}表示转码实例id, {SnapshotTime} 为截图时间点,单位为毫秒,此例中对视频第5秒截图,则变量取值为 5000,如果使用多张图片需要使用{Count}占位符,反之不需要; 目前工作流只支持在华东1,华东2,华北1和华南1 四个区域; 5. 分析/转码设置 5.1 分析/转码设置基础设置 点击转码按钮上的“铅笔”标识—>进入基础配置页面—>选择转码模板,输出bucket,是否使用水印,填入输出路径,基础配置就完成了。1819 5.2 转码模板设置 点击选择按钮—>进入转码模板页面—>选择转码模板。转码模板为预置智能模板,对应的转码任务要生效,得转码之前的分析作业执行后,分析得到到适用该视频的转码模板包含了转码设置中选择的模板,对应的转码任务才能执行,否则是不会执行,在执行实例中出现“跳过”的图示结果。预置智能模板介绍看【预置智能模板介绍】;如果想转码任务一定执行,请直接添加转码任务,不要加分析/转码任务并且使用MTS静态模板,不要使用MTS智能模板。 20 转码模板选择注意事项 转码为不同的格式,建议选择转码模板,而不是转码封装模板 5.3 输出bucket设置 点击选择按钮—>进入OSS文件管理页面—>选择输出bucket及对应的输出文件夹。21 输出bucket选择注意事项 在哪个区域新建工作流,对应的输出bucket也只能是对应区域的bucket,别的区域的bucket不能选择; 输出bucket中的可选择bucket,必须源自媒体bucket的输出bucket,媒体bucket如何添加,请看视频点播初始化设置文档; 输出路径是可编辑的,但注意目录的设置不需要以/结尾,如想存储资源到1目录下的2目录,那么对应的输出路径便为1/2/,而不是1/2; 目前工作流只支持在华东1,华东2,华北1和华南1 四个区域; 5.4 使用水印设置 水印设置是为用户的转码视频添加水印,用户可以选择对应的水印模板或者不使用水印。水印模板选择后,选择对应的水印图片—>进入OSS管理页面—>选择bucket中的图片。水印模板源自媒体转码MTS的水印模板,也可以在视频点播初始化设置的时候添加。22 注意: 水印图片所在bucket源自媒体bucket中的输出bucket。 6. 发布设置 点击发布边上的铅笔按钮—>进入发布页面—>选择媒体发布类型,基础配置就完成了。媒体发布类型分为自动及手动,默认为手动。2324 发布设置注意事项: 自动与手动的区别为:自动表示工作流处理后生成的object的acl 为default状态,这个状态表示object的权限继承自bucket的权限,当bucket是公共读的时候,object的acl 也是公共读,bucket私有,object acl 也是私有的;手动表示工作流处理后生成的object的acl为私有的,必须通过鉴权才能访问该object资源; 已有的媒体视频要修改发布状态,可以在媒体库中点击发布,进行发布;25 7. 配置cdn加速 点击下一步按钮—>进入配置内容分发网络(CDN)页面—>如果不存在cdn域名就点击添加,快速添加点播加速域名。26 注意:只有在新建工作流配置中有cdn 域名,对应转码输出后的资源才会带cdn域名地址的链接,如果当时创建工作流不存在CDN域名,之后在bucket中手动绑定域名并进行加速,这样的域名是不会在输出媒体地址中显示的。27

保持可爱mmm 2020-03-30 11:56:10 0 浏览量 回答数 0

回答

前言 这篇文章适合所有的 C# 开发新手、老鸟以及想准备学习开发 C# 的程序猿。.NET Core是一个开源通用的开发框架,支持跨平台, 阿里云函数计算推出了 dotnetcore2.1 runtime, 使用 C# 编写 serverless 函数, 详情见官方文档:C# 函数入口. 在官方文档描述中,我们获知阿里云函数计算可以很好支持 asp.net core 的 Applicaiton: ASP.NET Core Web API ASP.NET Core Web App ASP.NET Core Web App (Model-View-Controller) 在介绍 Serverless Web 开发新模式之前,我们先了解下将 C# WebApi/WebApp Serverless 化的好处: 无需采购和管理服务器等基础设施 弹性伸缩,动态扩容 免运维, 极大降低人力成本 按需付费,财务成本低 本文以部署一个完善的 asp.net core 工程 Blogifier 为例,在函数计算环境中为例,向您讲解如何使用阿里云函数计算快速构建或移植基于 asp.net core 开发的 WebApi/WebApp ,通过本文,您将会了解以下内容: 案例概览 传统服务器架构 VS Serverless架构 Serverless架构详解 函数计算运行 Asp.net core App 原理 案例开发配置步骤 案例概览 在本教程中,我们讲解如何利用函数计算一步一步来构建 Web 的 Server 端,该案例是把一个 asp.net core 工程Blogifier 部署到函数计算,本文旨在展示函数计算做 Web Backend 能力,具体表现为以下几点: 完善的 ASP.NET Core Web 系统迁移到 FC 的成本不高 FC 打通了专有网络 VPC 功能,用户的函数可以配置访问专有网络的云资源,比如本案例中 NAS 案例体验入口: http://dotnet.mofangdegisn.cn/ https://dotnet.mofangdegisn.cn/ 传统服务器架构 VS Serverless架构 正常来说,用户开发 Server 端服务,常常面临开发效率,运维成本高,机器资源弹性伸缩等痛点,而使用 Serverless 架构可以很好的解决上述问题。下面是传统架构和 Serverless 架构的对比: image 阿里云函数计算是一个事件驱动的全托管计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码,并提供日志查询,性能监控,报警等功能。借助于函数计算,您可以快速构建任何类型的应用和服务,无需管理和运维。 Serverless 架构详解 image.png 从上面的示例图中,整体架构十分简单明了, 用 FC 替代了 Web 服务器,但是换来的是免运维,弹性扩容,按需付费等一系列优点 函数计算运行 Asp.net Core App 原理 Asp.net Core App 运行在服务器上 image A http request to your website will go through IIS/Nginx, then Kestrel, and finally will be passed on to ASP.NET Core Asp.net Core App 运行在函数计算上 image 请求通过函数(with http trigger), 最后到达ASP.NET Core tips: 基于函数计算环境运行新建 asp.net core app 可以参考dotnet runtime HTTP 触发器的函数入口示例 在本文中,我们展示把一个现有的成熟的 asp.net core 工程低成本无缝迁移到函数计算环境。 案例开发配置步骤 准备工作 1. 创建 NAS 挂接点,配置 VPC , 具体参考函数计算nas使用示例 注:在本示例中使用 sqlite3 数据库,这种文件类型的数据库直接放置在 nas 即可,如果使用 mysql 等其他数据库, 需要创建 RDS 数据库, 配置 VPC , 具体参考通过 VPC 访问 RDS 实例 可选操作,在准备函数的 region 创建日志,用于函数的调试, 具体参考函数计算配置日志服务 创建函数 创建 Service (假设是 csharp-web), 配置准备 vpc config , nas config 和日志服务,比如案例体验的 Service 配置如下图: image 下载 asp.net core 工程,Blogifier, 用 vs 打开, debug 本地可以正常运行。 注:本地安装 dotnetcore2.1 在工程中增加入口函数,使得该工程可在函数计算执行环境运行,diff dotnet publish -c Release, 跳转到publish目录, 将相关的静态资源/可写/共享目录移动到上述配置的 NAS 的某个目录(这里假设是 www目录, 对应步骤2中的diff) dotnet publish -c Release cp -r plugins/Common/bin/Release/netcoreapp2.1/publish/* src/App/bin/Release/netcoreapp2.1/publish/ src/App/bin/Release/netcoreapp2.1/publish/ mkdir lib // 选择函数计算执行环境所需要的so, 其他的删除即可 cp runtimes/linux-x64/native/libe_sqlite3.so ./lib // 这里是传送对应的静态文件和 app.db 到 nas 中, 详情看下面的描述 rm -rf wwwroot app.db runtimes zip -r code.zip * // 最后使用这个 code.zip 创建 handler 为 App::App.FcRemoteEntrypoint::HandleRequest 函数 将 publish 目录下的 wwwroot 和 app.db 传送到 nas 的 www 目录, 可以使用 ecs 挂载 nas 传输过去, 也可以采用如下简单函数传输过去 |-- index.py |-- www 注: www目录下面有 wwwroot 和 app.db index.py代码: -- coding: utf-8 -- import logging import os def handler(event, context): os.system("mkdir -p /mnt/share/www") os.system("cp -r /code/www/* /mnt/share/www/") os.system("chmod -R 777 /mnt/share/www") print( os.system("ls -ll /mnt/share/www") ) return 'ok' 基于上述代码创一个函数 move-res-nas , 执行函数,将相关静态和共享资源移动到 NAS 的/mnt/share/www/ 目录。 注:最新版本的 Fun 工具已经支持 NAS 相关操作, 有兴趣的同学可以使用 Fun 完成 NAS, VPC 的自动生成、配置以及网站工程文件上传到 NAS 创建入口函数 blog (使用上一步骤中的 code.zip ), 给函数设置 http trigger ,类型为 anonymous , 类型都选上。给函数入口配置自定义域名(操作过程请参考:绑定自定义域名示例), 具体配置假设如下: image 注意: 绑定自定义域名之后,不用使用控制台来进行调试,就只能使用浏览器来触发函数,日志服务来进行调试。 总结 函数计算有如下优势: 无需采购和管理服务器等基础设施 专注业务逻辑的开发 提供日志查询、性能监控、报警等功能快速排查故障 以事件驱动的方式触发应用响应用户请求 毫秒级别弹性伸缩,快速实现底层扩容以应对峰值压力 按需付费。只需为实际使用的计算资源付费,适合有明显波峰波谷的用户访问场景 除了上面所列的优势,FC 可以做为 Web Backend,只需要编写一个函数实现传统 Web 服务器中的 conf 中的逻辑,就可以将一个完整的 Web 工程迁移到 FC ,从而从传统的 Web 网站运维,监控等繁琐的事务中解放出来。

1934890530796658 2020-03-27 17:30:59 0 浏览量 回答数 0

回答

1、ssh、frp连接不上、端口打不开,可能需要设置安全组 参考一下:  安全组默认规则 注意出方向、入方向,重新搞一下,试试看 2、这就是一个建站的过程? 推荐你安装宝塔控制面板: 【图文】阿里云服务器ECS如何安装宝塔面板? 有了这个控制面板,你安装多少个网站都可以,前提是你的配置够大 望采纳,谢谢

元芳啊 2019-12-02 01:17:31 0 浏览量 回答数 0

问题

删了phpwind文件夹后怎么把phpmyadmin装回去?

jadder 2019-12-01 21:33:39 13565 浏览量 回答数 4

回答

Re一个Ecs能不能接几个域名,怎样设置??     一个ECS可以做很多个站,但是阿里云规定一个IP只给5个备案号,所以理论上目前一台云服务器只能接5个域名;     域名解析是在域名注册商那里做解析的,绑定域名你可以看这里的参考资料 http://help.aliyun.com/view/13435464.html  如何添加网站for Linux(绑定域名) ------------------------- 回楼主huangzengan的帖子 如果不懂如何配置服务器环境,可以买了服务器之后到论坛帮帮团去求助,那里会有很多热心网友帮你

zhedianshi 2019-12-01 23:27:41 0 浏览量 回答数 0

问题

网站云的A套餐的windows系统可以自由安装软件和配置环境吗?

yyshw 2019-12-01 20:12:37 6762 浏览量 回答数 2

问题

Android 常见问题有哪些

猫饭先生 2019-12-01 21:59:21 792 浏览量 回答数 0

回答

引用来自“乌龟壳”的评论你在java端还是ng端做的https? 恩,老年人的话,可能会使用tomcat来做HTTPS,这就尴尬了######会心一笑######毫无疑问,你配置错了。实践证明,HTTPS的性能损失在10%~30%之间。######哪有那么夸张,我试过换http2,性能几乎无影响,而且有些页面元素多的反而加载速度有提升,得益于http2的并行资源请求。######你在java端还是ng端做的https?###### 引用来自“乌龟壳”的评论你在java端还是ng端做的https? 引用来自“风筝上的少年”的评论恩,老年人的话,可能会使用tomcat来做HTTPS,这就尴尬了 啊?tomcat不能吗######java低版本的ssl相关的算法性能很差,好像1.8用了新的算法。######效率太低###### 据我了解, 请求进来是https到nginx,然后反向代理到内网的http... 原有的应用不需要改动... ######我也这样用。###### 反向代理,一直听说,就是不懂,后来一看百科,就是个前端的gate,负责转发http中转的角色。######https我通过nginx来转发,参考红薯的文章,nginx--tomcat使用http,nginx开启了http2,但是性能损失还是很大,主要是http2的开启才有所提升,那你们用什么服务器?######ssl_session_cache 配上试试######你具体什么配置,单机qps多少?我这边就是公司阿里云的服务器######回复 @old菜鸟 : 那就是你真的机器配置太差。反正我这玩了很多次了,性能损失不超过30%,绝没有你说的接近60%那么夸张######设置的5m,没什么差别######快捷运维-https如何快速获得ssllabs的A评级 http://bbs.aqzt.com/thread-146-1-1.html (出处: 安全专题 -  www.aqzt.com  - 最棒的安全运维与开源架构技术交流社区!) 参考这个配置 ######肯定用nginx 做反向代理啊 ssl杠杠的,不会有什么太大性能损耗

kun坤 2020-05-29 16:28:16 0 浏览量 回答数 0

回答

微服务 (MicroServices) 架构是当前互联网业界的一个技术热点,圈里有不少同行朋友当前有计划在各自公司开展微服务化体系建设,他们都有相同的疑问:一个微服务架构有哪些技术关注点 (technical concerns)?需要哪些基础框架或组件来支持微服务架构?这些框架或组件该如何选型?笔者之前在两家大型互联网公司参与和主导过大型服务化体系和框架建设,同时在这块也投入了很多时间去学习和研究,有一些经验和学习心得,可以和大家一起分享。 服务注册、发现、负载均衡和健康检查和单块 (Monolithic) 架构不同,微服务架构是由一系列职责单一的细粒度服务构成的分布式网状结构,服务之间通过轻量机制进行通信,这时候必然引入一个服务注册发现问题,也就是说服务提供方要注册通告服务地址,服务的调用方要能发现目标服务,同时服务提供方一般以集群方式提供服务,也就引入了负载均衡和健康检查问题。根据负载均衡 LB 所在位置的不同,目前主要的服务注册、发现和负载均衡方案有三种: 第一种是集中式 LB 方案,如下图 Fig 1,在服务消费者和服务提供者之间有一个独立的 LB,LB 通常是专门的硬件设备如 F5,或者基于软件如 LVS,HAproxy 等实现。LB 上有所有服务的地址映射表,通常由运维配置注册,当服务消费方调用某个目标服务时,它向 LB 发起请求,由 LB 以某种策略(比如 Round-Robin)做负载均衡后将请求转发到目标服务。LB 一般具备健康检查能力,能自动摘除不健康的服务实例。服务消费方如何发现 LB 呢?通常的做法是通过 DNS,运维人员为服务配置一个 DNS 域名,这个域名指向 LB。 Fig 1, 集中式 LB 方案 集中式 LB 方案实现简单,在 LB 上也容易做集中式的访问控制,这一方案目前还是业界主流。集中式 LB 的主要问题是单点问题,所有服务调用流量都经过 LB,当服务数量和调用量大的时候,LB 容易成为瓶颈,且一旦 LB 发生故障对整个系统的影响是灾难性的。另外,LB 在服务消费方和服务提供方之间增加了一跳 (hop),有一定性能开销。 第二种是进程内 LB 方案,针对集中式 LB 的不足,进程内 LB 方案将 LB 的功能以库的形式集成到服务消费方进程里头,该方案也被称为软负载 (Soft Load Balancing) 或者客户端负载方案,下图 Fig 2 展示了这种方案的工作原理。这一方案需要一个服务注册表 (Service Registry) 配合支持服务自注册和自发现,服务提供方启动时,首先将服务地址注册到服务注册表(同时定期报心跳到服务注册表以表明服务的存活状态,相当于健康检查),服务消费方要访问某个服务时,它通过内置的 LB 组件向服务注册表查询(同时缓存并定期刷新)目标服务地址列表,然后以某种负载均衡策略选择一个目标服务地址,最后向目标服务发起请求。这一方案对服务注册表的可用性 (Availability) 要求很高,一般采用能满足高可用分布式一致的组件(例如 Zookeeper, Consul, Etcd 等)来实现。 Fig 2, 进程内 LB 方案 进程内 LB 方案是一种分布式方案,LB 和服务发现能力被分散到每一个服务消费者的进程内部,同时服务消费方和服务提供方之间是直接调用,没有额外开销,性能比较好。但是,该方案以客户库 (Client Library) 的方式集成到服务调用方进程里头,如果企业内有多种不同的语言栈,就要配合开发多种不同的客户端,有一定的研发和维护成本。另外,一旦客户端跟随服务调用方发布到生产环境中,后续如果要对客户库进行升级,势必要求服务调用方修改代码并重新发布,所以该方案的升级推广有不小的阻力。 进程内 LB 的案例是 Netflix 的开源服务框架,对应的组件分别是:Eureka 服务注册表,Karyon 服务端框架支持服务自注册和健康检查,Ribbon 客户端框架支持服务自发现和软路由。另外,阿里开源的服务框架 Dubbo 也是采用类似机制。 第三种是主机独立 LB 进程方案,该方案是针对第二种方案的不足而提出的一种折中方案,原理和第二种方案基本类似,不同之处是,他将 LB 和服务发现功能从进程内移出来,变成主机上的一个独立进程,主机上的一个或者多个服务要访问目标服务时,他们都通过同一主机上的独立 LB 进程做服务发现和负载均衡,见下图 Fig 3。 Fig 3 主机独立 LB 进程方案 该方案也是一种分布式方案,没有单点问题,一个 LB 进程挂了只影响该主机上的服务调用方,服务调用方和 LB 之间是进程内调用,性能好,同时,该方案还简化了服务调用方,不需要为不同语言开发客户库,LB 的升级不需要服务调用方改代码。该方案的不足是部署较复杂,环节多,出错调试排查问题不方便。 该方案的典型案例是 Airbnb 的 SmartStack 服务发现框架,对应组件分别是:Zookeeper 作为服务注册表,Nerve 独立进程负责服务注册和健康检查,Synapse/HAproxy 独立进程负责服务发现和负载均衡。Google 最新推出的基于容器的 PaaS 平台 Kubernetes,其内部服务发现采用类似的机制。 服务前端路由微服务除了内部相互之间调用和通信之外,最终要以某种方式暴露出去,才能让外界系统(例如客户的浏览器、移动设备等等)访问到,这就涉及服务的前端路由,对应的组件是服务网关 (Service Gateway),见图 Fig 4,网关是连接企业内部和外部系统的一道门,有如下关键作用: 服务反向路由,网关要负责将外部请求反向路由到内部具体的微服务,这样虽然企业内部是复杂的分布式微服务结构,但是外部系统从网关上看到的就像是一个统一的完整服务,网关屏蔽了后台服务的复杂性,同时也屏蔽了后台服务的升级和变化。安全认证和防爬虫,所有外部请求必须经过网关,网关可以集中对访问进行安全控制,比如用户认证和授权,同时还可以分析访问模式实现防爬虫功能,网关是连接企业内外系统的安全之门。限流和容错,在流量高峰期,网关可以限制流量,保护后台系统不被大流量冲垮,在内部系统出现故障时,网关可以集中做容错,保持外部良好的用户体验。监控,网关可以集中监控访问量,调用延迟,错误计数和访问模式,为后端的性能优化或者扩容提供数据支持。日志,网关可以收集所有的访问日志,进入后台系统做进一步分析。 Fig 4, 服务网关 除以上基本能力外,网关还可以实现线上引流,线上压测,线上调试 (Surgical debugging),金丝雀测试 (Canary Testing),数据中心双活 (Active-Active HA) 等高级功能。 网关通常工作在 7 层,有一定的计算逻辑,一般以集群方式部署,前置 LB 进行负载均衡。 开源的网关组件有 Netflix 的 Zuul,特点是动态可热部署的过滤器 (filter) 机制,其它如 HAproxy,Nginx 等都可以扩展作为网关使用。 在介绍过服务注册表和网关等组件之后,我们可以通过一个简化的微服务架构图 (Fig 5) 来更加直观地展示整个微服务体系内的服务注册发现和路由机制,该图假定采用进程内 LB 服务发现和负载均衡机制。在下图 Fig 5 的微服务架构中,服务简化为两层,后端通用服务(也称中间层服务 Middle Tier Service)和前端服务(也称边缘服务 Edge Service,前端服务的作用是对后端服务做必要的聚合和裁剪后暴露给外部不同的设备,如 PC,Pad 或者 Phone)。后端服务启动时会将地址信息注册到服务注册表,前端服务通过查询服务注册表就可以发现然后调用后端服务;前端服务启动时也会将地址信息注册到服务注册表,这样网关通过查询服务注册表就可以将请求路由到目标前端服务,这样整个微服务体系的服务自注册自发现和软路由就通过服务注册表和网关串联起来了。如果以面向对象设计模式的视角来看,网关类似 Proxy 代理或者 Façade 门面模式,而服务注册表和服务自注册自发现类似 IoC 依赖注入模式,微服务可以理解为基于网关代理和注册表 IoC 构建的分布式系统。 Fig 5, 简化的微服务架构图 服务容错当企业微服务化以后,服务之间会有错综复杂的依赖关系,例如,一个前端请求一般会依赖于多个后端服务,技术上称为 1 -> N 扇出 (见图 Fig 6)。在实际生产环境中,服务往往不是百分百可靠,服务可能会出错或者产生延迟,如果一个应用不能对其依赖的故障进行容错和隔离,那么该应用本身就处在被拖垮的风险中。在一个高流量的网站中,某个单一后端一旦发生延迟,可能在数秒内导致所有应用资源 (线程,队列等) 被耗尽,造成所谓的雪崩效应 (Cascading Failure,见图 Fig 7),严重时可致整个网站瘫痪。 Fig 6, 服务依赖 Fig 7, 高峰期单个服务延迟致雪崩效应 经过多年的探索和实践,业界在分布式服务容错一块探索出了一套有效的容错模式和最佳实践,主要包括: Fig 8, 弹性电路保护状态图 电路熔断器模式 (Circuit Breaker Patten), 该模式的原理类似于家里的电路熔断器,如果家里的电路发生短路,熔断器能够主动熔断电路,以避免灾难性损失。在分布式系统中应用电路熔断器模式后,当目标服务慢或者大量超时,调用方能够主动熔断,以防止服务被进一步拖垮;如果情况又好转了,电路又能自动恢复,这就是所谓的弹性容错,系统有自恢复能力。下图 Fig 8 是一个典型的具备弹性恢复能力的电路保护器状态图,正常状态下,电路处于关闭状态 (Closed),如果调用持续出错或者超时,电路被打开进入熔断状态 (Open),后续一段时间内的所有调用都会被拒绝 (Fail Fast),一段时间以后,保护器会尝试进入半熔断状态 (Half-Open),允许少量请求进来尝试,如果调用仍然失败,则回到熔断状态,如果调用成功,则回到电路闭合状态。舱壁隔离模式 (Bulkhead Isolation Pattern),顾名思义,该模式像舱壁一样对资源或失败单元进行隔离,如果一个船舱破了进水,只损失一个船舱,其它船舱可以不受影响 。线程隔离 (Thread Isolation) 就是舱壁隔离模式的一个例子,假定一个应用程序 A 调用了 Svc1/Svc2/Svc3 三个服务,且部署 A 的容器一共有 120 个工作线程,采用线程隔离机制,可以给对 Svc1/Svc2/Svc3 的调用各分配 40 个线程,当 Svc2 慢了,给 Svc2 分配的 40 个线程因慢而阻塞并最终耗尽,线程隔离可以保证给 Svc1/Svc3 分配的 80 个线程可以不受影响,如果没有这种隔离机制,当 Svc2 慢的时候,120 个工作线程会很快全部被对 Svc2 的调用吃光,整个应用程序会全部慢下来。限流 (Rate Limiting/Load Shedder),服务总有容量限制,没有限流机制的服务很容易在突发流量 (秒杀,双十一) 时被冲垮。限流通常指对服务限定并发访问量,比如单位时间只允许 100 个并发调用,对超过这个限制的请求要拒绝并回退。回退 (fallback),在熔断或者限流发生的时候,应用程序的后续处理逻辑是什么?回退是系统的弹性恢复能力,常见的处理策略有,直接抛出异常,也称快速失败 (Fail Fast),也可以返回空值或缺省值,还可以返回备份数据,如果主服务熔断了,可以从备份服务获取数据。Netflix 将上述容错模式和最佳实践集成到一个称为 Hystrix 的开源组件中,凡是需要容错的依赖点 (服务,缓存,数据库访问等),开发人员只需要将调用封装在 Hystrix Command 里头,则相关调用就自动置于 Hystrix 的弹性容错保护之下。Hystrix 组件已经在 Netflix 经过多年运维验证,是 Netflix 微服务平台稳定性和弹性的基石,正逐渐被社区接受为标准容错组件。 服务框架微服务化以后,为了让业务开发人员专注于业务逻辑实现,避免冗余和重复劳动,规范研发提升效率,必然要将一些公共关注点推到框架层面。服务框架 (Fig 9) 主要封装公共关注点逻辑,包括: Fig 9, 服务框架 服务注册、发现、负载均衡和健康检查,假定采用进程内 LB 方案,那么服务自注册一般统一做在服务器端框架中,健康检查逻辑由具体业务服务定制,框架层提供调用健康检查逻辑的机制,服务发现和负载均衡则集成在服务客户端框架中。监控日志,框架一方面要记录重要的框架层日志、metrics 和调用链数据,还要将日志、metrics 等接口暴露出来,让业务层能根据需要记录业务日志数据。在运行环境中,所有日志数据一般集中落地到企业后台日志系统,做进一步分析和处理。REST/RPC 和序列化,框架层要支持将业务逻辑以 HTTP/REST 或者 RPC 方式暴露出来,HTTP/REST 是当前主流 API 暴露方式,在性能要求高的场合则可采用 Binary/RPC 方式。针对当前多样化的设备类型 (浏览器、普通 PC、无线设备等),框架层要支持可定制的序列化机制,例如,对浏览器,框架支持输出 Ajax 友好的 JSON 消息格式,而对无线设备上的 Native App,框架支持输出性能高的 Binary 消息格式。配置,除了支持普通配置文件方式的配置,框架层还可集成动态运行时配置,能够在运行时针对不同环境动态调整服务的参数和配置。限流和容错,框架集成限流容错组件,能够在运行时自动限流和容错,保护服务,如果进一步和动态配置相结合,还可以实现动态限流和熔断。管理接口,框架集成管理接口,一方面可以在线查看框架和服务内部状态,同时还可以动态调整内部状态,对调试、监控和管理能提供快速反馈。Spring Boot 微框架的 Actuator 模块就是一个强大的管理接口。统一错误处理,对于框架层和服务的内部异常,如果框架层能够统一处理并记录日志,对服务监控和快速问题定位有很大帮助。安全,安全和访问控制逻辑可以在框架层统一进行封装,可做成插件形式,具体业务服务根据需要加载相关安全插件。文档自动生成,文档的书写和同步一直是一个痛点,框架层如果能支持文档的自动生成和同步,会给使用 API 的开发和测试人员带来极大便利。Swagger 是一种流行 Restful API 的文档方案。当前业界比较成熟的微服务框架有 Netflix 的 Karyon/Ribbon,Spring 的 Spring Boot/Cloud,阿里的 Dubbo 等。 运行期配置管理服务一般有很多依赖配置,例如访问数据库有连接字符串配置,连接池大小和连接超时配置,这些配置在不同环境 (开发 / 测试 / 生产) 一般不同,比如生产环境需要配连接池,而开发测试环境可能不配,另外有些参数配置在运行期可能还要动态调整,例如,运行时根据流量状况动态调整限流和熔断阀值。目前比较常见的做法是搭建一个运行时配置中心支持微服务的动态配置,简化架构如下图 (Fig 10): Fig 10, 服务配置中心 动态配置存放在集中的配置服务器上,用户通过管理界面配置和调整服务配置,具体服务通过定期拉 (Scheduled Pull) 的方式或者服务器推 (Server-side Push) 的方式更新动态配置,拉方式比较可靠,但会有延迟同时有无效网络开销 (假设配置不常更新),服务器推方式能及时更新配置,但是实现较复杂,一般在服务和配置服务器之间要建立长连接。配置中心还要解决配置的版本控制和审计问题,对于大规模服务化环境,配置中心还要考虑分布式和高可用问题。 配置中心比较成熟的开源方案有百度的 Disconf,360 的 QConf,Spring 的 Cloud Config 和阿里的 Diamond 等。 Netflix 的微服务框架Netflix 是一家成功实践微服务架构的互联网公司,几年前,Netflix 就把它的几乎整个微服务框架栈开源贡献给了社区,这些框架和组件包括: Eureka: 服务注册发现框架Zuul: 服务网关Karyon: 服务端框架Ribbon: 客户端框架Hystrix: 服务容错组件Archaius: 服务配置组件Servo: Metrics 组件Blitz4j: 日志组件下图 Fig 11 展示了基于这些组件构建的一个微服务框架体系,来自 recipes-rss。 Fig 11, 基于 Netflix 开源组件的微服务框架 Netflix 的开源框架组件已经在 Netflix 的大规模分布式微服务环境中经过多年的生产实战验证,正逐步被社区接受为构造微服务框架的标准组件。Pivotal 去年推出的 Spring Cloud 开源产品,主要是基于对 Netflix 开源组件的进一步封装,方便 Spring 开发人员构建微服务基础框架。对于一些打算构建微服务框架体系的公司来说,充分利用或参考借鉴 Netflix 的开源微服务组件 (或 Spring Cloud),在此基础上进行必要的企业定制,无疑是通向微服务架构的捷径。 原文地址:https://www.infoq.cn/article/basis-frameworkto-implement-micro-service#anch130564%20%EF%BC%8C

auto_answer 2019-12-02 01:55:22 0 浏览量 回答数 0
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 阿里云双十一主会场 阿里云双十一新人会场 1024程序员加油包 阿里云双十一拼团会场 场景化解决方案 阿里云双十一直播大厅