通知设置 新通知
AI时代的移动技术革新:饿了么API Everything的实践
zkbhj 发表了文章 • 0 个评论 • 2028 次浏览 • 2018-01-05 14:01
什么是API Everything?
将SOA服务接口适配各端进行访问
遇到下面这些问题怎么解决?
web API层写业务逻辑们甚至直接访问数据库;web api的风格各异,restful的,json-rpc的,api设计规范?api文档过时,不能反映代码情况;前后端开发不同步,前端等后端;
产品技术方案原则
稳定性、性能、高可用、容错性DevOps中心更“懒”,代码及文档(自动生成),用户体验,功能需求
生命周期
API开发(文档、mock)-> API管理(访问权限、限流、灰度) -> API网关服务(鉴权认证、协议转换) -> API运维(监控管理、部署扩容)
产品规划
API PortalStargate ClusterMock ServerAPI Rebot
系统交互
Stargate Cluster技术架构
API Portal 自动化文档
查看全部
将SOA服务接口适配各端进行访问
遇到下面这些问题怎么解决?
web API层写业务逻辑们甚至直接访问数据库;web api的风格各异,restful的,json-rpc的,api设计规范?api文档过时,不能反映代码情况;前后端开发不同步,前端等后端;
产品技术方案原则
稳定性、性能、高可用、容错性DevOps中心更“懒”,代码及文档(自动生成),用户体验,功能需求
生命周期
API开发(文档、mock)-> API管理(访问权限、限流、灰度) -> API网关服务(鉴权认证、协议转换) -> API运维(监控管理、部署扩容)
产品规划
API PortalStargate ClusterMock ServerAPI Rebot
系统交互
Stargate Cluster技术架构
API Portal 自动化文档
查看全部
什么是API Everything?
将SOA服务接口适配各端进行访问
遇到下面这些问题怎么解决?
产品技术方案原则
生命周期
API开发(文档、mock)-> API管理(访问权限、限流、灰度) -> API网关服务(鉴权认证、协议转换) -> API运维(监控管理、部署扩容)
产品规划
系统交互
Stargate Cluster技术架构
API Portal 自动化文档
将SOA服务接口适配各端进行访问
遇到下面这些问题怎么解决?
- web API层写业务逻辑们甚至直接访问数据库;
- web api的风格各异,restful的,json-rpc的,api设计规范?
- api文档过时,不能反映代码情况;
- 前后端开发不同步,前端等后端;
产品技术方案原则
- 稳定性、性能、高可用、容错性
- DevOps中心
- 更“懒”,代码及文档(自动生成),用户体验,功能需求
生命周期
API开发(文档、mock)-> API管理(访问权限、限流、灰度) -> API网关服务(鉴权认证、协议转换) -> API运维(监控管理、部署扩容)
产品规划
- API Portal
- Stargate Cluster
- Mock Server
- API Rebot
系统交互
Stargate Cluster技术架构
API Portal 自动化文档
PHP大会笔记:PHP安全开发,从白帽角度做安全
zkbhj 发表了文章 • 0 个评论 • 2180 次浏览 • 2017-06-11 15:25
演讲大纲WEb安全现状
常见漏洞分析
如何提升系统安全性
安全案例
案例一:17岁小孩儿黑产月入8000+?QQ线报群。
案例二:对公网开放3306端口的服务器数量是180万之多。
WEB漏洞的特征
常规漏洞、逻辑漏洞、第三方通用漏洞
常规漏洞:代码注入、文件包含、CSRF、SQL注入、XSS跨站、脚本
本地文件包含漏洞
远程文件包含龙洞
避免?
open_basedir限制活动范围
过滤点斜杠反斜杠
禁止服务器远程包含文件
PHP代码注入如何防范?
不要把参数直接存储位可以运行的代码
尽量不要使用eval执行接收的参数
PHP安全开发扩展Taint,会提示未对入餐进行校验的部分进行warning提示
常规漏洞的特点
参数过滤不严谨
可以通过扫描器扫描出来
代码层面的bug
业务逻辑漏洞
验证码突破
业务授权安全
业务流程扰乱等
业务逻辑漏洞案例
平行越权漏洞案例:A能看到B的订单信息
垂直越权漏洞案例:普通用户进入管理员后台
越权逻辑漏洞防范
前后台的查询尽量不用同一个查询接口
尽量不要暴露出连续ID如订单号
越权不仅限于展示,修改数据也会出现
通用型漏洞:第三方开源系统的漏洞
如何防范漏洞?
SDL:安全开发生命周期,来自如微软,用于office和Windows之后,安全漏洞减少。
提升web应用的安全性,减少应用的安全漏洞数量
降低安全漏洞的修复成本
PPT下载:https://github.com/devlinkcn/ppts_for_php2017/blob/master/PHP%E5%AE%89%E5%85%A8%E5%BC%80%E5%8F%91_%E4%BB%8E%E7%99%BD%E5%B8%BD%E8%A7%92%E5%BA%A6%E5%81%9A%E5%AE%89%E5%85%A8--%E6%B1%A4%E9%9D%92%E6%9D%BE.pdf
查看全部
常见漏洞分析
如何提升系统安全性
安全案例
案例一:17岁小孩儿黑产月入8000+?QQ线报群。
案例二:对公网开放3306端口的服务器数量是180万之多。
WEB漏洞的特征
常规漏洞、逻辑漏洞、第三方通用漏洞
常规漏洞:代码注入、文件包含、CSRF、SQL注入、XSS跨站、脚本
本地文件包含漏洞
远程文件包含龙洞
避免?
open_basedir限制活动范围
过滤点斜杠反斜杠
禁止服务器远程包含文件
PHP代码注入如何防范?
不要把参数直接存储位可以运行的代码
尽量不要使用eval执行接收的参数
PHP安全开发扩展Taint,会提示未对入餐进行校验的部分进行warning提示
常规漏洞的特点
参数过滤不严谨
可以通过扫描器扫描出来
代码层面的bug
业务逻辑漏洞
验证码突破
业务授权安全
业务流程扰乱等
业务逻辑漏洞案例
平行越权漏洞案例:A能看到B的订单信息
垂直越权漏洞案例:普通用户进入管理员后台
越权逻辑漏洞防范
前后台的查询尽量不用同一个查询接口
尽量不要暴露出连续ID如订单号
越权不仅限于展示,修改数据也会出现
通用型漏洞:第三方开源系统的漏洞
如何防范漏洞?
SDL:安全开发生命周期,来自如微软,用于office和Windows之后,安全漏洞减少。
提升web应用的安全性,减少应用的安全漏洞数量
降低安全漏洞的修复成本
PPT下载:https://github.com/devlinkcn/ppts_for_php2017/blob/master/PHP%E5%AE%89%E5%85%A8%E5%BC%80%E5%8F%91_%E4%BB%8E%E7%99%BD%E5%B8%BD%E8%A7%92%E5%BA%A6%E5%81%9A%E5%AE%89%E5%85%A8--%E6%B1%A4%E9%9D%92%E6%9D%BE.pdf
查看全部
演讲大纲WEb安全现状
常见漏洞分析
如何提升系统安全性
安全案例
案例一:17岁小孩儿黑产月入8000+?QQ线报群。
案例二:对公网开放3306端口的服务器数量是180万之多。
WEB漏洞的特征
常规漏洞、逻辑漏洞、第三方通用漏洞
常规漏洞:代码注入、文件包含、CSRF、SQL注入、XSS跨站、脚本
本地文件包含漏洞
远程文件包含龙洞
避免?
open_basedir限制活动范围
过滤点斜杠反斜杠
禁止服务器远程包含文件
PHP代码注入如何防范?
不要把参数直接存储位可以运行的代码
尽量不要使用eval执行接收的参数
PHP安全开发扩展Taint,会提示未对入餐进行校验的部分进行warning提示
常规漏洞的特点
参数过滤不严谨
可以通过扫描器扫描出来
代码层面的bug
业务逻辑漏洞
验证码突破
业务授权安全
业务流程扰乱等
业务逻辑漏洞案例
平行越权漏洞案例:A能看到B的订单信息
垂直越权漏洞案例:普通用户进入管理员后台
越权逻辑漏洞防范
前后台的查询尽量不用同一个查询接口
尽量不要暴露出连续ID如订单号
越权不仅限于展示,修改数据也会出现
通用型漏洞:第三方开源系统的漏洞
如何防范漏洞?
SDL:安全开发生命周期,来自如微软,用于office和Windows之后,安全漏洞减少。
提升web应用的安全性,减少应用的安全漏洞数量
降低安全漏洞的修复成本
PPT下载:https://github.com/devlinkcn/ppts_for_php2017/blob/master/PHP%E5%AE%89%E5%85%A8%E5%BC%80%E5%8F%91_%E4%BB%8E%E7%99%BD%E5%B8%BD%E8%A7%92%E5%BA%A6%E5%81%9A%E5%AE%89%E5%85%A8--%E6%B1%A4%E9%9D%92%E6%9D%BE.pdf
常见漏洞分析
如何提升系统安全性
安全案例
案例一:17岁小孩儿黑产月入8000+?QQ线报群。
案例二:对公网开放3306端口的服务器数量是180万之多。
WEB漏洞的特征
常规漏洞、逻辑漏洞、第三方通用漏洞
常规漏洞:代码注入、文件包含、CSRF、SQL注入、XSS跨站、脚本
本地文件包含漏洞
远程文件包含龙洞
避免?
open_basedir限制活动范围
过滤点斜杠反斜杠
禁止服务器远程包含文件
PHP代码注入如何防范?
不要把参数直接存储位可以运行的代码
尽量不要使用eval执行接收的参数
PHP安全开发扩展Taint,会提示未对入餐进行校验的部分进行warning提示
常规漏洞的特点
参数过滤不严谨
可以通过扫描器扫描出来
代码层面的bug
业务逻辑漏洞
验证码突破
业务授权安全
业务流程扰乱等
业务逻辑漏洞案例
平行越权漏洞案例:A能看到B的订单信息
垂直越权漏洞案例:普通用户进入管理员后台
越权逻辑漏洞防范
前后台的查询尽量不用同一个查询接口
尽量不要暴露出连续ID如订单号
越权不仅限于展示,修改数据也会出现
通用型漏洞:第三方开源系统的漏洞
如何防范漏洞?
SDL:安全开发生命周期,来自如微软,用于office和Windows之后,安全漏洞减少。
提升web应用的安全性,减少应用的安全漏洞数量
降低安全漏洞的修复成本
PPT下载:https://github.com/devlinkcn/ppts_for_php2017/blob/master/PHP%E5%AE%89%E5%85%A8%E5%BC%80%E5%8F%91_%E4%BB%8E%E7%99%BD%E5%B8%BD%E8%A7%92%E5%BA%A6%E5%81%9A%E5%AE%89%E5%85%A8--%E6%B1%A4%E9%9D%92%E6%9D%BE.pdf
PHP大会笔记:Swoole2.0原生协程高性能开发实践
zkbhj 发表了文章 • 0 个评论 • 3995 次浏览 • 2017-06-11 13:34
Swoole2.0原生携程探索经验
PHP的并发IO之路
Yield携程
Yield问题
原生协程
Swoole小而美,
提供异步的IO高性能
原生携程能力
通用原子能力封装
连接池
频率监测
过载保护
服务监控
QQ看点优化经验分享
查看全部
PHP的并发IO之路
Yield携程
Yield问题
原生协程
Swoole小而美,
提供异步的IO高性能
原生携程能力
通用原子能力封装
连接池
频率监测
过载保护
服务监控
QQ看点优化经验分享
查看全部
PHP大会笔记:云原生的MySQL 托管服务架构及读写分离的优化
zkbhj 发表了文章 • 0 个评论 • 1899 次浏览 • 2017-06-11 13:07
DevOps 开发工程师运维
云原生的MySQL PaaS服务:高可用高可靠
云原生的MySQL PaaS服务:高可用高可靠
PHP大会笔记:MySQL 5.7 优化不求人
zkbhj 发表了文章 • 0 个评论 • 2245 次浏览 • 2017-06-10 14:48
PHP大会笔记:复杂PHP系统性能瓶颈问题排查和优化
zkbhj 发表了文章 • 0 个评论 • 2336 次浏览 • 2017-06-10 14:47
陌陌如何做api性能优化?
代码分析
性能个好的语法
sql优化
优化重点接口 --》 优化有问题的代码
优化语言层面 --》 优化外部调用
重构代码 --》 重构服务
通过性能检测工具xhprof数据进行筛选、统计,分析出系统瓶颈。
数据筛选和统计
查看全部
代码分析
性能个好的语法
sql优化
优化重点接口 --》 优化有问题的代码
优化语言层面 --》 优化外部调用
重构代码 --》 重构服务
通过性能检测工具xhprof数据进行筛选、统计,分析出系统瓶颈。
数据筛选和统计
查看全部
陌陌如何做api性能优化?
代码分析
性能个好的语法
sql优化
优化重点接口 --》 优化有问题的代码
优化语言层面 --》 优化外部调用
重构代码 --》 重构服务
通过性能检测工具xhprof数据进行筛选、统计,分析出系统瓶颈。
数据筛选和统计
代码分析
性能个好的语法
sql优化
优化重点接口 --》 优化有问题的代码
优化语言层面 --》 优化外部调用
重构代码 --》 重构服务
通过性能检测工具xhprof数据进行筛选、统计,分析出系统瓶颈。
数据筛选和统计
PHP大会笔记:聊聊稳定性保障那些事儿
zkbhj 发表了文章 • 0 个评论 • 1874 次浏览 • 2017-06-10 14:47
常见稳定性问题有哪些?
1、环境不一致问题
2、服务未隔离
3、服务化后,调用关系复杂,问题排查比较苦难
稳定性保障的原则
1、环境一致性原则(开发,测试,准生产,线上)
需要注意的因素,版本(PHP版本、服务器版本等),配置(无特殊化配置),路径(应用、日志等)
2、环境隔离原则
物理隔离:两个服务部署在两台机器上,尽量少多个服务部署在同一台机器上
服务隔离:A调用B服务,要有措施去处理,A方如超时(防止拖挂应用),熔断(类似于保险丝,当要调用的服务负载过高,不可用时,自动kill自己),B方则可以进行限流。
有效监控原则
监控项目有系统级和业务层面
1、系统:CPU、Disc、Memory、NetWork、Process……
2、业务:ErrorLog、Data Status……
监控策略
监控可用性
不只是监控服务是否存在,更重要的是监控服务是否可用
报警策略
不要让报警称为骚扰
1、不要让报警项设置的太敏感
2、不同级别不同的报警方式
3、报警内容要有意义,如所在机房、机柜、时间、问题描述等
充分预案原则
面向问题预案
1、想一想都会有哪些问题
2、所使用的任何服务都不可靠
3、服务不可用时,如何处理
预案策略
1、设定超市,避免过长等待
2、默认数据,服务不可用时使用
3、预案尽量平台化、自动化执行
冲分预案原则
预案验证
1、周期性验证
2、模拟服务不可用,封端口
3、查看服务表现是否符合预期
追根溯源原则
验证
恢复服务
常规操作:摘机、重启、回滚、降级
保留现场
目的是为了获取数据
系统内部数据,系统外部监控、保留运行状态
问题排查
数据+知识经验+工具 = 问题排查
常见的问题排查工具
案例
1、有一个PHP漏洞引起的环境性一致性问题
multipart/form-data 远程DOS漏洞
环境各种不一致:PHP版本、下线方式、配置文件、文件路径
改造流程:
RPM打包管理、服务器控制脚本(控制上下线方式) --》 公司yum源
为什么rpm? 打包方便、安装简便、解决依赖关系
最终Docker化,保障机器无状态
2、服务隔离的案例
PC、APP
3、其他隔离
读写分离、SQL分离、慢SQL隔离
如何设计服务调用链路分析系统?
链路可追踪
查看全部
1、环境不一致问题
2、服务未隔离
3、服务化后,调用关系复杂,问题排查比较苦难
稳定性保障的原则
1、环境一致性原则(开发,测试,准生产,线上)
需要注意的因素,版本(PHP版本、服务器版本等),配置(无特殊化配置),路径(应用、日志等)
2、环境隔离原则
物理隔离:两个服务部署在两台机器上,尽量少多个服务部署在同一台机器上
服务隔离:A调用B服务,要有措施去处理,A方如超时(防止拖挂应用),熔断(类似于保险丝,当要调用的服务负载过高,不可用时,自动kill自己),B方则可以进行限流。
有效监控原则
监控项目有系统级和业务层面
1、系统:CPU、Disc、Memory、NetWork、Process……
2、业务:ErrorLog、Data Status……
监控策略
监控可用性
不只是监控服务是否存在,更重要的是监控服务是否可用
报警策略
不要让报警称为骚扰
1、不要让报警项设置的太敏感
2、不同级别不同的报警方式
3、报警内容要有意义,如所在机房、机柜、时间、问题描述等
充分预案原则
面向问题预案
1、想一想都会有哪些问题
2、所使用的任何服务都不可靠
3、服务不可用时,如何处理
预案策略
1、设定超市,避免过长等待
2、默认数据,服务不可用时使用
3、预案尽量平台化、自动化执行
冲分预案原则
预案验证
1、周期性验证
2、模拟服务不可用,封端口
3、查看服务表现是否符合预期
追根溯源原则
验证
恢复服务
常规操作:摘机、重启、回滚、降级
保留现场
目的是为了获取数据
系统内部数据,系统外部监控、保留运行状态
问题排查
数据+知识经验+工具 = 问题排查
常见的问题排查工具
案例
1、有一个PHP漏洞引起的环境性一致性问题
multipart/form-data 远程DOS漏洞
环境各种不一致:PHP版本、下线方式、配置文件、文件路径
改造流程:
RPM打包管理、服务器控制脚本(控制上下线方式) --》 公司yum源
为什么rpm? 打包方便、安装简便、解决依赖关系
最终Docker化,保障机器无状态
2、服务隔离的案例
PC、APP
3、其他隔离
读写分离、SQL分离、慢SQL隔离
如何设计服务调用链路分析系统?
链路可追踪
查看全部
常见稳定性问题有哪些?
1、环境不一致问题
2、服务未隔离
3、服务化后,调用关系复杂,问题排查比较苦难
稳定性保障的原则
1、环境一致性原则(开发,测试,准生产,线上)
需要注意的因素,版本(PHP版本、服务器版本等),配置(无特殊化配置),路径(应用、日志等)
2、环境隔离原则
物理隔离:两个服务部署在两台机器上,尽量少多个服务部署在同一台机器上
服务隔离:A调用B服务,要有措施去处理,A方如超时(防止拖挂应用),熔断(类似于保险丝,当要调用的服务负载过高,不可用时,自动kill自己),B方则可以进行限流。
有效监控原则
监控项目有系统级和业务层面
1、系统:CPU、Disc、Memory、NetWork、Process……
2、业务:ErrorLog、Data Status……
监控策略
监控可用性
不只是监控服务是否存在,更重要的是监控服务是否可用
报警策略
不要让报警称为骚扰
1、不要让报警项设置的太敏感
2、不同级别不同的报警方式
3、报警内容要有意义,如所在机房、机柜、时间、问题描述等
充分预案原则
面向问题预案
1、想一想都会有哪些问题
2、所使用的任何服务都不可靠
3、服务不可用时,如何处理
预案策略
1、设定超市,避免过长等待
2、默认数据,服务不可用时使用
3、预案尽量平台化、自动化执行
冲分预案原则
预案验证
1、周期性验证
2、模拟服务不可用,封端口
3、查看服务表现是否符合预期
追根溯源原则
验证
恢复服务
常规操作:摘机、重启、回滚、降级
保留现场
目的是为了获取数据
系统内部数据,系统外部监控、保留运行状态
问题排查
数据+知识经验+工具 = 问题排查
常见的问题排查工具
案例
1、有一个PHP漏洞引起的环境性一致性问题
multipart/form-data 远程DOS漏洞
环境各种不一致:PHP版本、下线方式、配置文件、文件路径
改造流程:
RPM打包管理、服务器控制脚本(控制上下线方式) --》 公司yum源
为什么rpm? 打包方便、安装简便、解决依赖关系
最终Docker化,保障机器无状态
2、服务隔离的案例
PC、APP
3、其他隔离
读写分离、SQL分离、慢SQL隔离
如何设计服务调用链路分析系统?
链路可追踪
1、环境不一致问题
2、服务未隔离
3、服务化后,调用关系复杂,问题排查比较苦难
稳定性保障的原则
1、环境一致性原则(开发,测试,准生产,线上)
需要注意的因素,版本(PHP版本、服务器版本等),配置(无特殊化配置),路径(应用、日志等)
2、环境隔离原则
物理隔离:两个服务部署在两台机器上,尽量少多个服务部署在同一台机器上
服务隔离:A调用B服务,要有措施去处理,A方如超时(防止拖挂应用),熔断(类似于保险丝,当要调用的服务负载过高,不可用时,自动kill自己),B方则可以进行限流。
有效监控原则
监控项目有系统级和业务层面
1、系统:CPU、Disc、Memory、NetWork、Process……
2、业务:ErrorLog、Data Status……
监控策略
监控可用性
不只是监控服务是否存在,更重要的是监控服务是否可用
报警策略
不要让报警称为骚扰
1、不要让报警项设置的太敏感
2、不同级别不同的报警方式
3、报警内容要有意义,如所在机房、机柜、时间、问题描述等
充分预案原则
面向问题预案
1、想一想都会有哪些问题
2、所使用的任何服务都不可靠
3、服务不可用时,如何处理
预案策略
1、设定超市,避免过长等待
2、默认数据,服务不可用时使用
3、预案尽量平台化、自动化执行
冲分预案原则
预案验证
1、周期性验证
2、模拟服务不可用,封端口
3、查看服务表现是否符合预期
追根溯源原则
验证
恢复服务
常规操作:摘机、重启、回滚、降级
保留现场
目的是为了获取数据
系统内部数据,系统外部监控、保留运行状态
问题排查
数据+知识经验+工具 = 问题排查
常见的问题排查工具
案例
1、有一个PHP漏洞引起的环境性一致性问题
multipart/form-data 远程DOS漏洞
环境各种不一致:PHP版本、下线方式、配置文件、文件路径
改造流程:
RPM打包管理、服务器控制脚本(控制上下线方式) --》 公司yum源
为什么rpm? 打包方便、安装简便、解决依赖关系
最终Docker化,保障机器无状态
2、服务隔离的案例
PC、APP
3、其他隔离
读写分离、SQL分离、慢SQL隔离
如何设计服务调用链路分析系统?
链路可追踪
PHP大会笔记:PHP在机器学习上的应用和云深度学习平台的架构设计与实现
zkbhj 发表了文章 • 0 个评论 • 2165 次浏览 • 2017-06-10 14:03
咳咳,计算机课开始了……
机器学习
ML、DL引用
图像、语音、文本
如何实现?
什么是机器学习?
从数据中抽取规律,用于提取有用信息,解释数据、预测未来
机器学习过程:
数据预处理(去噪/归一化)
训练模型
评估模型(MSE/F1Score/AUC )
应用模型
机器学习算法的应用
神经网络
机器学习框架对神经网络的实现 -- TensorFlow
TensorFlow的编程模型 -- 数据流图
TensorFlow的架构
PHP-ML(终于到重点了)
就到这吧,,,,,结束! 查看全部
机器学习
ML、DL引用
图像、语音、文本
如何实现?
什么是机器学习?
从数据中抽取规律,用于提取有用信息,解释数据、预测未来
机器学习过程:
数据预处理(去噪/归一化)
训练模型
评估模型(MSE/F1Score/AUC )
应用模型
机器学习算法的应用
神经网络
机器学习框架对神经网络的实现 -- TensorFlow
TensorFlow的编程模型 -- 数据流图
TensorFlow的架构
PHP-ML(终于到重点了)
就到这吧,,,,,结束! 查看全部
PHP大会笔记:瓜子的架构变迁
zkbhj 发表了文章 • 0 个评论 • 3005 次浏览 • 2017-06-10 11:55