• 关于

    防爬虫

    的搜索结果

问题

航空公司电商防爬虫防占座解决方案使用咨询

在大运输解决方案中,看到“航空公司电商防爬虫防占座解决方案”,并提到电商网站的航班查询页面针对爬虫的防护。如下单未支付占座场景,防爬虫占座不付款,不能正常销售场景。想详细了解此方案的实...
1404132919796265 2019-12-01 19:02:34 98 浏览量 回答数 1

问题

[@talishboy][¥20]Java Web项目如何防爬虫?

Java Web项目如何防爬虫?...
黄二刀 2019-12-01 19:27:58 427 浏览量 回答数 1

回答

镜像无非就是用爬虫定时爬取网站上的资源:html,js,png等,根据网站访问记录,将定时访问的ip禁掉就好了,关键是防爬虫防抓取做好就ok了
夜半饿得慌 2020-10-18 16:18:11 0 浏览量 回答数 0

问题

爬虫数据管理【问答合集】

目前互联网中网络爬虫的自然语言处理方向前景怎样?https://yq.aliyun.com/ask/195258artTemplate:arttemplate生成的页面可以爬虫可以爬到数据吗https://yq.aliyun.com/ask...
马铭芳 2019-12-01 20:19:58 63181 浏览量 回答数 22

回答

Re一般商城需要购买哪些安全产品 其实看你发展情况,感觉要 1.WAF:防爬虫,篡改 2.高防:防DDOS,CC攻击 可能还有web应用攻击
永远不宕机 2019-12-02 00:28:57 0 浏览量 回答数 0

回答

WAF的爬虫流量防护功能主要防御一些由脚本程序编写的单IP访问爬虫流量。爬虫风险管理(Anti-Bot)则可以有效防御精心伪装的、模拟真实用户行为的更高级的爬虫流量。
保持可爱mmm 2020-03-27 20:19:22 0 浏览量 回答数 0

问题

云计算ACA模拟题,WAF可防哪些攻击

尊托云数云计算ACA模拟题: 请问WAF可防爬虫吗?帮助文档中没看到...
znaxxhh37mfzk 2020-01-29 18:22:09 35 浏览量 回答数 1

回答

Anti-Bot与阿里云的SLB、WAF、DDoS高防、CDN等云产品完全兼容,您可以根据业务需要选择合适的产品与Anti-Bot同时部署。 负载均衡(SLB):您只需在Anti-Bot控制台中添加域名配置时,将SLB实例的公网IP添加为源站服务器IP,即可实现Anti-Bot与SLB结合使用。 Web应用防火墙(WAF):Anti-Bot与WAF采用同样的转发配置,因此在Anti-Bot或WAF中添加的网站域名配置记录将自动同步至另一产品的管理控制台中,且域名来源显示为云端同步。您只需在Anti-Bot和WAF控制台中为网站域名配置相应的防护策略,即可实现应用层攻击防护和恶意爬虫流量防护。 注意 由于Anti-Bot与WAF采用同一套转发系统,因此暂不支持跨账号为同一域名同时部署WAF和Anti-Bot。即如果已经在账号A中为域名配置部署了WAF,建议您在该账号中开通Anti-Bot并根据上述介绍为该域名配置Anti-Bot防护,而不是在另一个账号开通Anti-Bot后为该域名配置。 DDoS高防:参考同时部署Anti-Bot和DDoS高防进行配置,即可实现大流量攻击防护和恶意爬虫流量防护。 CDN:参考同时部署Anti-Bot和CDN进行配置,即可为开启内容加速的域名实现恶意爬虫流量防护。
保持可爱mmm 2020-03-27 20:22:00 0 浏览量 回答数 0

问题

防止网络爬虫进行数据抓取

我先简单说一下,网站使用的是SpringMVC+Tomcat的框架,具有搜索功能,基本就是依靠关键词使用ajax进行post请求,这样爬虫可以通过字典用httpclient等工具抓取数据。我现在想防止数据被爬取,初步的想法是根据IP的访问次...
落地花开啦 2019-12-01 19:34:45 1706 浏览量 回答数 1

回答

对于网页端和App端,Anti-Bot提供相同的防护能力,有效防御自动化脚本编写的、携带明显机器特征的、模拟真实用户行为的恶意爬虫请求。 爬虫风险管理本质上是一个攻防过程。通过识别爬虫本身,方能应对爬虫变异,最终实现有效过滤。
保持可爱mmm 2020-03-27 20:19:41 0 浏览量 回答数 0

问题

防爬虫

...
2019-12-01 18:41:55 623 浏览量 回答数 1

问题

有什么好的方法可以防止网络爬虫进行数据抓取

我先简单说一下,网站使用的是SpringMVC+Tomcat的框架,具有搜索功能,基本就是依靠关键词使用ajax进行post请求,这样爬虫可以通过字典用httpclient等工具抓取数据。我现在想防止数据被爬取,初步的想法是根据IP的访问次...
a123456678 2019-12-01 20:23:15 1692 浏览量 回答数 2

回答

当前暴力破解暂无系统免费防御方案,仅有商业安全解决方案。云内大部分主机部署安骑士,针对识别到的暴力破解源加入旁路WAF的阻断名单进行实时阻断(TCP层,双向reset),阻止其后续的暴力破解行为。 为了避免暴力破解,政务用户可以云盾爬虫风险管理(Anti-Bot Service,简称Anti-Bot)是一款网络应用安全防护产品,可有效检测高级爬虫,降低爬虫、自动化工具对网站业务的影响。云盾爬虫风险管理提供从Web、APP、到API接口一整套全面的恶意Bot防护解决方案,避免由于业务中某一环节的防护薄弱而导致的安全短板。 方案说明 购买开通Anti-Bot产品后,您只需要将您的网站域名解析到Anti-Bot产品提供的CNAME地址,并在爬虫风险管理控制台中配置源站服务器IP,即可启用防护。将网站域名接入Anti-Bot产品后,您网站所有的公网流量都将先经过Anti-Bot实例,所有恶意爬虫流量都将在云端被检测、过滤,最终将正常的流量返回给源站服务器,从而确保源站业务免受恶意爬虫流量引发的数据泄露、业务欺诈等安全问题的影响。 暴力破解兜底方案:在政府重大事件云环境相关业务保障期间,一旦发现严重违规行为,一键执行切断云上对重点保护目标的访问权限(通过旁路reset)。安装阿里云安全产品后,上述所有风险由系统识别后实时通知用户处置,使用者在系统上一键操作后即时生效。 方案优势 充分利用阿里云在安全领域里的情报汇聚能力: 通过跨多行业的爬虫行为分析,利用关系网络实现恶意爬虫的扩充发现。爬虫在行业性业务目的方面非常明确,利用生态体系达成行业内协同防御。沉淀网络黑灰产业中已知常用的针对性恶意爬虫的IP/User Agent数据。共享亿级由阿里巴巴集团业务经验沉淀的风险情报。 多场景多维度的安全防护 提供最合适Web、H5、APP、API业务的恶意Bot防护方案。提供多维度的防护策略,更精准地刻画恶意Bot特征。针对不同风险等级的恶意Bot,提供不同的处置手段。
剑曼红尘 2020-03-23 15:41:55 0 浏览量 回答数 0

回答

你能告诉我,如何防爬虫吗?
黄二刀 2019-12-02 01:30:41 0 浏览量 回答数 0

回答

为了解决业务中的各种恶意爬虫风险,Anti-Bot提供不同维度的防护方案。 智能防护:Anti-Bot依托云上大数据算法沉淀的情报和智能算法模型提供防护能力,无需安全技术人员介入,直接通过控制台启用防护即可。 规则防护:为了实现更细粒度的防护效果,Anti-Bot提供灵活的自定义防护规则配置,可能需要安全技术人员协助分析并制定防护规则策略。 同时,不同业务接口可能存在一定特殊性,需要安全技术人员进行分析、选择合适的防护策略,避免因业务接口本身不适合特定的人机校验模式而导致误拦截。 安全技术人员推荐的最佳防护策略方案可以在爬虫变异前有效控制爬虫风险,而当恶意爬虫的攻击成本高于所带来的收益时,该类型的爬虫攻击也将慢慢消失。
保持可爱mmm 2020-03-27 20:21:16 0 浏览量 回答数 0

回答

阿里云目前推出一款安全产品“爬虫风险管理”,专业检测高级爬虫,降低爬虫及自动化工具对网站的业务影响,对Web网页端/H5页面/APP/API进行全方位防护。产品详情可以查看https://www.aliyun.com/product/antibot。目前产品正在公测阶段,可以官网产品页入口提交公测申请。
云安全专家 2019-12-01 23:16:24 0 浏览量 回答数 0

问题

Anti-Bot与WAF提供的爬虫流量防护功能有什么区别?

Anti-Bot与WAF提供的爬虫流量防护功能有什么区别?...
保持可爱mmm 2020-03-27 20:17:17 1 浏览量 回答数 1

问题

Anti-Bot针对网页端和App端能防御哪些爬虫风险?

Anti-Bot针对网页端和App端能防御哪些爬虫风险?...
保持可爱mmm 2020-03-27 20:17:54 1 浏览量 回答数 1

问题

阿里云上有什么机制或服务可以防御爬虫?

阿里云上有什么机制或服务可以防御爬虫?阿里云上是有什么方案可以解决这个问题,谢谢!...
锐泰利 2019-12-01 19:37:44 1540 浏览量 回答数 3

问题

[@项籍][¥20]预防爬虫的基本思路都有哪些

最近网站老是被爬,加图片验证码也被解析,据说滑块验证也不能完全保证不被攻击,请问如何应对被刷?...
boybobib 2019-12-01 20:26:32 420 浏览量 回答数 1

回答

安全产品的话,web应用防火墙这类的都会有cc之类的限流和人机识别,一般使用代理的爬虫可以直接搞,更精细的防御,可以考虑使用一些tcp连接数维度的防御产品,或者用waf+iptables结合。如果要防止百度之类的搜索引擎,一般每种后端服务都有对应的配置方案,可以去查询一下,百度就可以,不过不推荐。
2梦 2019-12-01 23:16:24 0 浏览量 回答数 0

回答

网络上有很多爬虫、网络探测的程序在运行,最好禁止不相关的端口,对于常用的80端口,设置好网站与域名的绑定,禁止IP直接访问,如果还需要进一步防护可以在程序里记录访问ip,访问时间,设置ip屏蔽规则,判断URL合法性过滤URL非正常请求,暂时也就只想到这么多了。
千鸟 2019-12-02 00:51:49 0 浏览量 回答数 0

回答

您好,3月17日,云盾检测到您的站点被CC攻击,自动启动防御,攻击数据包截图如下。 在防御期间,如果某个IP访问过于频繁,就会屏蔽这个IP,当防御结束时,会自动解除屏蔽。您的主机被攻击的时间:开始2014-03-17 15:32:52  结束 2014-03-17 16:04:06,只有在这段时间内会屏蔽IP的访问。 另外,未启动防御时,云盾对爬虫的IP都加了白名单。
yundun1 2019-12-02 02:53:36 0 浏览量 回答数 0

问题

CDN类产品问题解决思路

写的不好,想到什么写什么。 用过CDN的站长都很纳闷,为什么人家大型网站用了CDN什么事情都没有,我用CDN特别喜欢出状况,是不是CDN存在三六九等。 作为CDN+WAF的从业...
mytsing520 2019-12-01 21:31:42 2809 浏览量 回答数 2

回答

微服务 (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查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板