进击的 Traefik | 云原生边缘路由器探秘Service Mesh Meetup #7 成都站 ## 进击的 Traefik 云原生边缘路由器探秘 杨川胡(阳明) 知群后台负责人 2019.10.26 ## 杨川胡(阳明)  知群后台负责人,原小米视频后台高级研发,《Prometheus 介绍 2 Traefik 2.0 核心概念 3 Traefik With Docker 4 Traefik With Kubernetes ## Traefik 是什么? 云原生的边缘路由器 - 让部署微服务更加便捷而诞生的现代 HTTP 反向代理、负载均衡工具 - 它支持多种后台 (Docker, Swarm, Kubernetes, Marathon, Mesos, Consul Kubernetes  ## Traefik 是一个边缘路由器  ## Traefik 自动服务发现0 码力 | 35 页 | 8.58 MB | 1 年前3
Go在数据库中间件的应用两年通信设备开发经验,四年互联网 • 五年C/C++使用经验,一年Golang ## 内容提要 ## CONTENTS • 程序开发的需求 • GoLang特性 - Go开发mysql中间件 - 整体方案 - 分表路由 - 故障切换 - 平滑扩容 - 系统运维 ## 程序开发的需求 • 语言特性精炼,容易入门 • 开发效率高,代码逻辑清晰 • 运行性能强,节省机器资源 • 部署维护方便 • 生态圈完善 ## 系统整体方案 ## • 系统功能 • 读写分离。 • 平滑上下线Mysql。 • 主备自动切换(主-主模式)。 • 分表设计——按照Hash分表 • 分表设计——按照范围分表(年、月、日、整形) • 数据库表在多个mysql实例间平滑扩容 - 大表拆分为多个子表情况下的平滑扩容 ## 系统整体方案 ## • 现存问题 • 数据库访问基本采用直连方式 - 无法满足数据访问平台化要求 为什么采用Go来实现 go诸多优点,可用性高 go处理mysql的binlog有知识积累 • 公司大规模推广使用go ## 分表路由逻辑 ## · 分表规则 - 哈希分表:shardkey通过Hash函数分表 • 分段分表:按照年、月、日或者整形范围分表 本质上哈希分表与分段分表都是一样,只是其Hash方式不同,使得看起来有两种不同的数据组织方式。 ## 故障主备切换 ## • 故障情形 •0 码力 | 17 页 | 4.02 MB | 2 年前3
2 Sharding-JDBC入门使用sphere.version} ## 基于Java编码的规则配置 Sharding-JDBC的分库分表通过规则配置描述,以下例子是根据user_id取模分库,且根据order_id取模分表的两库两表的配置。 // 配置真实数据源 MapdataSourceMap = new HashMap<>(); setUsername("root"); dataSource2.setPassword(); dataSourceMap.put("ds1", dataSource2); // 配置Order表规则 TableRuleConfiguration orderTableRuleConfig = new TableRuleConfiguration(); orderTableRuleConfig rder"); orderTableRuleConfig.setActualDataNodes("ds${0..1}.t_order${0..1}"); // 配置分库 + 分表策略 orderTableRuleConfig.setDatabaseShardingStrategyConfig(new InlineShardingStrategyConfiguration("user_id"0 码力 | 12 页 | 325.38 KB | 2 年前3
MoonBit月兔编程语言 现代编程思想 第十课 哈希表与闭包现代编程思想 哈希表与闭包 Hongbo Zhang ## 回顾 ## · 表 键值对的集合,其中键不重复 简单实现:二元组列表 - 添加时向队首添加 - 查询时从队首遍历 树实现:二叉平衡树 - 基于第五节课介绍的二叉平衡树,每个节点的数据为键值对 - 对树操作时比较第一个参数 ## 哈希表 - 哈希函数/散列函数 Hash function ◦ 接口中,数据被映射到整数范围内 trait Hash { hash(Self) -> Int } ■ "这是一个非常非常长的字符串".hash() == -900478401 ## · 哈希表 ◦ 利用哈希函数,将数据映射到数组索引中,进行快速的添加、查询、修改 1. // 对于 a: Array[(Key, Value)], key: Key, value: Value 2. let 不同数据的哈希可能相同 不同的哈希映射为数组索引时可能相同 - 解决哈希表的冲突 ◦ 直接寻址(分离链接):同一索引下用另一数据结构存储 列表 二叉平衡搜索树等 ☐ 开放寻址 ■ 线性探查:当发现冲突后,索引递增,直到查找空位放入 ■ 二次探查(索引递增 $ 1^{2}2^{2}3^{2} $ )等 ## 哈希表:直接寻址 - 当发生哈希/索引冲突时,将相同索引的数据装进一个数据结构中0 码力 | 27 页 | 448.83 KB | 2 年前3
Celery 2.4 Documentation0 码力 | 543 页 | 957.42 KB | 2 年前3
TokuDB索引结构## TokuDB索引结构 网易杭州研究院---胡争(博客:openinx.github.io) ## TokuDB简介 - 基于分形树实现的MySQL存储引擎 • Tokutek公司2007年研发,2013年开源 • 2015年Percona公司收购Tokutek公司 • TokuDB内部的K-V存储引擎为ft-index • TokuMx: ft-index + MongoDB Server层代码 插入性能大大高于InnoDB(分形树vs B+树) • 查询性能略低于InnoDB - 在线执行DDL操作(不阻塞写操作) • 超高压缩率(TokuDB 4M vs InnoDB 16K) 更高性能,更低成本! ## 分形树索引结构(一)  ## 分形树结构(二) BasementNode (OMT) - 弱平衡二叉树 – 增删改查期望复杂度 $ O(\log N) $ • 页大小默认4M。 - 扇出fanout默认 $$ 4,16 $$ 区间。 ## 分形树结构(三) ## • 叶子节点 - 数据量维持在 $$ 1M,4M $$ 区间 - 数据量小于1M则合并 - 数据量大于4M则分裂。 ## • 非叶子节点 - 扇出(fanout)维持在0 码力 | 19 页 | 1.97 MB | 2 年前3
ExtJS和AngularJS比较AngularJS responsive directives, angular-gestures 和 ngTouch库.路由 20. 内建路由 ✓ExtJS 5 已包含 ✓ 21. 深度链接 ✓ExtJS 5 解决第三方组件的BUG 架构的不同: 我们从11个方面来分析这两种技术的不同。1.应用开发框架2.组件3.路由4.测试5.数据绑定6.SEO7.移动解决方案8.Dom算法9.Deferred and Promises10.脏检查11.Deferred bootstrap 摘要:ExtJS是基 out中。它遵循面向对象的设计思想和MVC设计模式,很少直接操作DOM元素AngularJS,走的是另外的一条路,是一种声明式的程序。在HTML标签上新增AngularJS指令,配置模型,使用模版和路由配置视图;框架最终实现了DOM的创建。我们仍然是基于HTML架构,操作DOM元素 应用设计框架 ExtJS 0 码力 | 6 页 | 244.12 KB | 2 年前3
Apache APISIX
微服务⽹关性能架构解析全平台支持 ## Apache APISIX 自豪 • 核心代码量,3892 行 • 极致的动态转发性能 • 平均请求延迟:740 us • 插件热加载/卸载 • 允许插件挂载任何阶段 - 路由自身也是插件 ## Apache APISIX 自豪 • 支持 ARM64 • 完整支持 IPv6 • 物联网 MQTT 协议 • 基于 OpenResty / Tengine • 极致性能 Validator ???? Configuration center ???? ## Apache APISIX 技术选型 • 配置中心 · 语言或开发平台 • 数据校验 • 加分项:顶级路由实现 ## Apache APISIX 技术选型 • 配置中心:高可用、增量订阅、历史记录 - 语言或开发平台:动态、高性能、网关的周边资源丰富 - 数据校验:开放标准、有一定的生态系统 - 性能的 1000 倍 ## Apache APISIX 技术选型 路由是 API 网关的生命 • 必须高性能 • 匹配条件灵活且易扩展 • 必需:uri、host - 可选:IP 地址、请求参数、请求头、Cookie等,可以做数值、字符串以及正则匹配。 • 自定义函数 ## Apache APISIX 技术选型 ## 路由:lua-resty-radixtree • 单核心每秒百万次匹配0 码力 | 41 页 | 15.62 MB | 2 年前3
在网格的边缘试探:企业 Istio 试水指南· 增强负载能力 • 改善交付流程 • 客户充满 Love • 开发需求保持 Peace ## I stio能做什么? · 几乎全部功能都无需侵入 • 监控服务质量 • 控制服务间的访问路由 • 跟踪服务链路 • 应对服务故障 • 在服务间通信之间进行加密 • 访问控制和频率限制 ## I stio目前的突出问题 • API稳定性问题:流量管理也仅仅是v1alpha3,用alpha特性发布1 jpg) ## 选定试用功能 • 性价比的灵魂拷问: • 会给业务带来什么风险? - 需要什么程度的投入? • 可能出现什么故障? • 能有什么好处? · 个人看法 • 可观察性 · 路由 · 策略 · 安全  ## 试用服务范围 调整资源参数 • 调整亲和性参数 • 调整HPA • 日志输出和调试开关复查 • Istio功能裁剪 - 备用业务部署 - 试用服务部署 - 服务YAML复查 - 缺省路由设置 - 根据功能需求,编写和部署 Istio 相关功能 YAML - 监控和告警部署 - 连接 Alertmanager/... - 指标输出 ## 方案测试 • 根据性能和功能测试方案完成测试。0 码力 | 19 页 | 11.41 MB | 1 年前3
Falcon v3.1.1-rc1 Documentation0 码力 | 378 页 | 1.29 MB | 2 年前3共 1000 条- 1
- 2
- 3
- 4
- 5
- 6
- 100













