技术文章

Spring Cloud Hystrix 熔断

烂漫一生 提交于 2021-02-17 08:22:53
一、什么是熔断 在一个家庭中有各种各样的家电,我们假设每个家电都没有保险丝,一旦有一天某个家电出现短路,造成整个电路短路然后很有可能就把整个家庭的电器及电路给烧坏了。但如果每个家电入口线路都有一个保险丝(断路器),那么不管那个家电发生短路这个家电的保险丝就会快速熔断(断开电路),从而保护了整个电路及电路上其它的家电的正常运行。 软件行业里面的熔断机制与这个一致,在整个微服务集群中,由于其中一个或者几个微服务出现故障或堵塞,若没有快速的熔断机制,就会造成整个微服务集群的拥堵最终整个微服务出现雪崩被拖死。熔断机制的核心机制就是在确保某个微服务出现故障的时候实现快速熔断(断路)或者服务降级快速失败,避免拥堵。从而保证其它业务其它服务的正常运行。 二、Hystrix 设计原则 防止单个服务的故障,耗尽整个系统服务的容器(比如tomcat)的线程资源,避免分布式环境里大量级联失败。通过第三方客户端访问(通常是通过网络)依赖服务出现失败、拒绝、超时或短路时执行回退逻辑。 用快速失败代替排队(每个依赖服务维护一个小的线程池或信号量,当线程池满或信号量满,会立即拒绝服务而不会排队等待)和优雅的服务降级;当依赖服务失效后又恢复正常,快速恢复。 提供接近实时的监控和警报,从而能够快速发现故障和修复。监控信息包括请求成功,失败(客户端抛出的异常),超时和线程拒绝。如果访问依赖服务的错误百分比超过阈值

如何入门机器学习

試著忘記壹切 提交于 2021-02-17 08:16:14
本篇文章,我将从过来的人角度介绍下机器学习如何从入门到精通,这里我们谈经验,谈工具,更谈方法论。 1.入门 作为初入机器学习的小白,你可能除了一颗好奇的心和一番热血外什么都不没有,当然最好还是希望你能有线性代数、微积分和概率论的基础。你可能会心存顾虑:学过但忘了。不用担心,这种东西不用就会忘,但只要用到,学一学便会;或者说你可能真的没学过,这个也不用担心,只要你真的想学现在也来得及。 好了废话不多说,我们进入入门阶段的正题。入门阶段主要有三个任务: 快速看完周志华的《西瓜书》 ; 看吴恩达 Coursera 上的《机器学习》 ; 调包跑算法 。 看完这个后可能大家会有很多不解或者很多疑惑。不着急,我们一个一个解答。 1.1 快速看完《西瓜书》 问题一:为什么要选《机器学习》? 因为这本书真的很不错,作为入门书籍非常合适。同样有名的《统计学习方法》虽然也很不错,但是其对小白来说相对较难。虽然《西瓜书》上面也有公式,但我们在初学的时候太复杂的完全可以先跳过去,并且书中还配有西瓜的例子,可以很好的帮助同学们理解算法的工作过程。 问题二:为什么要快速看完? 我这里强调快速,是因为快速真的很重要。因为如果战线拉得太长,如果一开始看的太细又读哪儿哪不懂,人是很容易有排斥心理的。最简单的一个例子,你想想你背英语单词的时候,多少次是从“abandon”开始背起的。每次快要期末考试了,或者四六级

phpstudy后门漏洞复现

て烟熏妆下的殇ゞ 提交于 2021-02-17 08:13:06
前段时间phpstudy被人发现某些版本存在后门,许多人就这样被当作肉鸡长达两年之久 后门隐藏在程序自带的 php 的 php_xmlrpc.dll 模块 影响的版本: phpstudy2016 和 2018 在 H:\PhpStudy20180211\PHPTutorial\php\php-5.2.17\ext 找到 php_xmlrpc.dll 用 notepad++ 打开, ctrl+f 搜索 eval 说明这个版本的 phpstudy 是由后门的 用 firefox 访问本地 ip ,用 bp 抓包,用 ctrl+r 送到 repeater 找到 accept-encoding ,把逗号后面的空格删掉, deflate 后面回车换行,加上 accept-charset : c3lzdGVtKCdpcGNvbmZpZycpIDs= ,然后 go (这是 system(‘ipconfig’) ; 的 base64 加密) 漏洞复现成功 加 system(‘path’) ; (分号前面有空格) 安全问题不容小觑啊 来源: oschina 链接: https://my.oschina.net/u/4302374/blog/3383342

MQTT协议的初浅认识之连接建立

匆匆过客 提交于 2021-02-17 08:12:38
MQTT百科 MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件 。 从危机百科可以看出,MQTT是一种协议,不是一种消息队列。尽管,它有消息队列的设计,但更侧重是一种网络 协议 。 一般推荐使用2014年10月30日发布的MQTT 3.1.1版本,关于MQTT3.1.1版本优势的 文章 。 几个概念 客户端(Client) MQTT客户端是运行MQTT客户端库并通过网络连接到MQTT中间件的任何设备(从嵌入式设备到服务器)。MQTT客户端库可由各种编程语言实现。 例如,Android,Arduino,C,C ++,C#,Go,iOS,Java,JavaScript和.NET。 中间件(Broker) MQTT中间件是MQTT协议的核心。负责接收所有消息,过滤消息,确定订阅每条消息的客户端,以及将消息发送给这些订阅的客户端。还包括对持久会话的管理,以及客户端的认证和授权等功能。例如:Mosquitto就是由Eclipse基金会维护开发的MQTT中间件。由Apache基金会维护开发的ActiveMQ消息中间件支持MQTT协议。 MQTT 连接 这里借用 hivemq 的几张图.

【OCP|052】OCP换题库,052最新考题及答案-第9题

旧城冷巷雨未停 提交于 2021-02-17 08:11:39
9、Which is true about the Automatic Diagnostic Repository (ADR)? A) It includes diagnostic data for critical errors for each server and background process. B) Its location is always set by the ORACLE_BASE variable. C) It is used only if the DIAGNOSTIC_DEST parameter is manually configured. D) It only contains the alert log and trace files for background processes. Answer:A 来源: oschina 链接: https://my.oschina.net/u/3902946/blog/1844908

AkShare-新加坡交易所期货数据

青春壹個敷衍的年華 提交于 2021-02-17 08:11:10
作者寄语 新增-新加坡交易所-期货市场数据,主要包括了在新加坡交易所上市的主要期货品种的量价数据。目前数据获取时间在 2020-01-01 年以后,由于服务器在国外所以对数据获取速度有要求的小伙伴需要使用代理访问。 AkShare-更新记录 "futures_sgx_daily" # 新加坡期货交易所期货数据 本文分享自微信公众号 - 数据科学实战(dsaction)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“ OSC源创计划 ”,欢迎正在阅读的你也加入,一起分享。 来源: oschina 链接: https://my.oschina.net/u/4486485/blog/4341162

AkShare-期货数据-期货交易日历

流过昼夜 提交于 2021-02-17 08:10:39
作者寄语 修复 futures_rule 数据接口,增加通过日期查找历史数据的功能,可以通过该接口获取近期期货交易日历数据。 更新接口 "futures_rule" # 期货规则-交易日历表 期货规则-交易日历表 接口: futures_rule 目标地址: https://www.gtjaqh.com/pc/calendar.html 描述: 获取国泰君安期货-交易日历数据表 限量: 单次返回指定交易日所有合约的交易日历数据 输入参数 名称 类型 必选 描述 trade_date str Y trade_date="20200713"; 需要指定为交易日, 且是近期的日期 输出参数( 某些交易日输出的字段数目不统一 ) 名称 类型 默认显示 描述 交易所 str Y - 品种 str Y - 代码 str Y - 交易保证金比例 str Y 注意单位: % 特殊合约参数调整 str Y - 调整备注 str Y - 接口示例 import akshare as ak futures_rule_df = ak.futures_rule(trade_date= "20200713" ) print(futures_rule_df) 数据示例 交易所 品种 ... 限价单每笔最大下单手数 特殊合约参数调整 0 上期所 铜 ... 500 CU2007合约交易保证金比例为25.0% 1

AkShare-基金数据-基金行情数据

孤者浪人 提交于 2021-02-17 08:10:14
作者寄语 更新 基金数据-基金行情数据 接口,本接口主要返回特定基金的开高低收成交量的数据。 更新接口 "fund_etf_hist_sina" # 基金数据-基金行情数据 基金行情 接口: fund_etf_hist_sina 目标地址: http://vip.stock.finance.sina.com.cn/fund_center/index.html#jjhqetf 描述: 获取新浪财经-基金行情的日频率行情数据 限量: 单次返回指定基金的所有数据 输入参数 名称 类型 必选 描述 symbol str Y symbol="sz169103"; 基金列表可以通过 fund_etf_category_sina(symbol="LOF基金") 可选参数为: 封闭式基金, ETF基金, LOF基金 查询 输出参数 名称 类型 默认显示 描述 date str Y - open str Y - high float Y - low str Y - close float Y - volume str Y 注意单位: 手 接口示例 import akshare as ak fund_etf_hist_sina_df = ak.fund_etf_hist_sina(symbol= "sz169103" ) print(fund_etf_hist_sina_df) 数据示例 date

XXE漏洞

旧城冷巷雨未停 提交于 2021-02-17 08:09:49
0x00 什么是XML 1.定义 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。 2.文档结构 XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。 <!--XML声明--> <?xml version="1.0"?> <!--文档类型定义--> <!DOCTYPE note [ <!--定义此文档是 note 类型的文档--> <!ELEMENT note (to,from,heading,body)> <!--定义note元素有四个元素--> <!ELEMENT to (#PCDATA)> <!--定义to元素为”#PCDATA”类型--> <!ELEMENT from (#PCDATA)> <!--定义from元素为”#PCDATA”类型--> <!ELEMENT head (#PCDATA)> <!--定义head元素为”#PCDATA”类型--> <!ELEMENT body (#PCDATA)> <!--定义body元素为”#PCDATA”类型--> ]]]> <!--文档元素--> <note> <to>Dave</to> <from>Tom</from> <head>Reminder</head>

AkShare-宏观数据-中国货币供应量

非 Y 不嫁゛ 提交于 2021-02-17 08:07:59
作者寄语 补充之前的中国 M2 接口,本次接口增加 M1 和 M0 的月度数据,数据从 200801 至今。 更新接口 "macro_china_money_supply", # 中国货币供应量 中国货币供应量 接口: macro_china_money_supply 目标地址: http://data.eastmoney.com/cjsj/moneysupply.aspx 描述: 获取中国货币供应量月度数据, 数据区间从200801-至今 限量: 单次返回所有历史数据 输入参数 名称 类型 必选 描述 无 无 无 无 输出参数 名称 类型 默认显示 描述 月份 str Y 日期-索引 M2-数量 float Y 注意单位: 亿元 M2-同比增长 str Y 注意单位: % M2-环比增长 str Y 注意单位: % M1-数量 float Y 注意单位: 亿元 M1-同比增长 str Y 注意单位: % M1-环比增长 str Y 注意单位: % M0-数量 float Y 注意单位: 亿元 M0-同比增长 str Y 注意单位: % M0-环比增长 str Y 注意单位: % 接口示例 import akshare as ak macro_china_money_supply_df = ak.macro_china_money_supply() print(macro