Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 7. 使用包、Crate 和模块管理不断增长的项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 12. 一个 I/O 项目:构建命令行程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 13.3. 改进之前的 I/O 项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 9 天前3TiDB中文技术文档
理解 TiDB 执行计划 统计信息 语言结构 字面值 数据库、表、索引、列和别名 关键字和保留字 用户变量 表达式语法 注释语法 字符集和时区 字符集支持 字符集配置 时区 数据类型 日期和时间类型 基本数据类型 函数和操作符 函数和操作符概述 表达式求值的类型转换 操作符 控制流程函数 - 2 - 本文档使用 书栈(BookStack.CN) 构建 字符串函数 数值函数与操作符 日期和时间函数 位函数和操作符 深度耦合,支持公有云、私有云和混合云,使部署、配置和 维护变得十分简单。 TiDB 的设计目标是 100% 的 OLTP 场景和 80% 的 OLAP 场景,更复杂的 OLAP 分析可以通过 TiSpark 项目 来完成。 TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时它也 让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。 深度耦合,支持公有云、私有云和混合云,使部署、配置和 维护变得十分简单。 TiDB 的设计目标是 100% 的 OLTP 场景和 80% 的 OLAP 场景,更复杂的 OLAP 分析可以通过 TiSpark 项目 来完成。 TiDB 对业务没有任何侵入性,能优雅的替换传统的数据库中间件、数据库分库分表等 Sharding 方案。同时它也 让开发运维人员不用关注数据库 Scale 的细节问题,专注于业务开发,极大的提升研发的生产力。0 码力 | 444 页 | 4.89 MB | 5 月前3SOFAMOSN持续演进路径及实践分享
C++实现 • CNCF第三个毕业项目, ISTIO原生数据平面 • 开发活跃,最新版为1.9.0 • Google, Lyft主导,业界 众多公司使用中,重点搭 载ISTIO使用,服务各类 场景 • Rust实现 • CNCF项目,最早的 Service Mesh数据平面 • 开发活跃,最新版为 18.9.1 • Golang实现 • 新生项目,初期旨在搭建 RPC亲和,高度可扩展性 FAMOSN数据流SOFAMOSN数据流持续演进路径 & 技术案例能力 0.1.0 0.2.0 0.3.0 0.4.0 Ø TCP代理/7层通用代理 Ø 简单匹配路由 Ø 集群管理 & 基本负载均衡(RR、 RANDOM) Ø SofaRpc及HTTP/1.1、 HTTP/2.0支持 Ø 进程平滑升级 Ø SOFAMesh集成,支持 xDS on ADS Ø X-Protocol协议扩展机制, HTTP/2.0优化 官方HTTP/2.0实现问题: 1. syscall read较多,效率低下 2. 每个stream分配单独的goroutine处理, 调度开销高 3. 临时对象多,GC占比高 4. 基本实现了RFC中MUST部分,部分功 能需求上不匹配,如GRPC trailer实现技术案例 – HTTP/2.0优化 优化思路:适配MOSN框架,复用官方实现核心结构体和解析流程 Ø 框架适配0 码力 | 29 页 | 7.03 MB | 5 月前322-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊
云原生底座=控制器+调度器的组合+Docker=根据环境的变化而动+基于封装 一致性的大规模分发 服务编排基本原理: • 以度量为基础,以NodeSelector算法来 决定在哪儿部署容器服务 • 运行时以期望与实际的差别进行动态调 整到期望的状态 标准化能力-分布式操作系统核心-容器服务-基本技术原理 事实标准的K8S容器服务设计 成应用与物理资源(IaaS,虚 拟机、物理,多云)的中间抽 象层,因为应用很复杂,很容 Ingress Service A Service B Service C k8s-ETCD ConfigMap Zipkin EFK prometheus • 适合新项目上云,如果是已经存在的项目就需要修改代码 • 注册中心、配置中心、跟踪链、日志分析、性能分析、流量网 关等都是平台提供的,也需要碎片化适配,并与微服务框架直 接关联,治理能力也必须委托给微服务框架。 有没有可能集 Serverless 技术并没有冲突的地方,可以结合使用。 事实上目前业界也开始出现这个趋势,而融合的方式有两种: • 在 Serverless 中引入 Service Mesh:典型如 Knative 项目和 Knative 的 Google Cloud 托管版本 Google Cloud Run,通过引入对容器的支持和使用 Istio, Knative 将 Serverless 的支持扩展到 Function0 码力 | 42 页 | 11.17 MB | 5 月前303-基于Apache APISIX的全流量API网关-温铭
来自一家在远程工作方式下商业化开源项目的创业公司(支流科技), 担任CEO&联合创始人, Apache 顶级项目APISIX的PMC主席, Skywalking开源项目的贡献者(commiter)。在创业之前, 在360做企业安全, 360开源委员会的发起人, 腾讯的TVP, TARS基金会的TOC成员, 在安全领域有四十多个专利, 最近三年全 职在做服务端的开源项目开发。在极客时间专栏著有OpenResty从入门到实战。 例如云原生中的K8S颠覆了传 统操作系统, 所有的"主机"(node上的容器)由k8s来控制和编排, 非常适用于公有云、私有云、混合云等 各种环境。云原生体系的特点之一就是由各种开源项目组成, 不同于以往的商业闭源项目, 缓解了收费贵 等问题, 加速了技术落地。新的时代中每个公司的技术都是非常重要的组成部分, 在一个商业竞争激烈的 时代, 公司愈早的占据技术顶峰愈是能够占据商业顶峰。网关作为云原生入口 年,F5 收购 6.7 亿美元收购 NGINX Apache APISIX 简介 关于 Apache APISIX • 天然的云原生 API 网关 • 中国最快毕业的 Apache 顶级项目 • 全动态:路由、SSL 证书、上游、插件… • 40 多个插件,覆盖:身份认证、安全、日志、可观测性… Apache APISIX 设计思路 • API 网关的数据面和控制面分离 • 通过插件机制来方便二次开发和运维0 码力 | 11 页 | 6.56 MB | 5 月前3大规模微服务架构下的Service Mesh探索之路
Prometheus • Solarwinds • Stackdriver • Statsd • Stdio 同意视为基础设置, 甚至可能集成更多, 这里的抽象隔离是 我们认可的 但是这些??更应该 视为基本能力,直接 做成Mesh内置功能 List backend Redis for Quota memquota List backend Redis for Quota Istio现有的Mixer Mesh架构反思:数据平面和控制平面的界线该如何划定? ü 有关Mixer Cache的详细介绍和源码解析 • Mixer Cache: Istio的阿克琉斯之踵? • Istio Mixer Cache工作原理与源码分析(1)-基本概念 • Istio Mixer Cache工作原理与源码分析(2)-工作原理 • Istio Mixer Cache工作原理与源码分析(3)-主流程 • Istio Mixer Cache工作原理与源码分析(4)-签名 开源的动机 • 秀肌肉,博名声 • 沦为KPI工程,面子工程 ü 开源项目的维护 • 被抛弃,或者发展停滞无人维护 ü 开源的时机 • 直接开源,摆明态度 ü 开源的内容 • 业界最新的技术 • 业界最好的架构(努力中J) • 内部使用同样产品落地 ü 开源的动机 • 吸引社区,谋求合作,开源共建 ü 开源项目的维护 • 内部使用,保证持续投入 • 请放心Sofa Mesh的合作模式:多层次全方位开放0 码力 | 37 页 | 7.99 MB | 5 月前313 Istio 流量管理原理与协议扩展 赵化冰
EnvoyFilter 15 Istio 协议扩展:控制面扩展机制 优点: • 对 Istio 和 Envoy 无侵入 • 扩展性强,基本可以支持任何七层协议 问题: • 工作量较大,相当于实现了一个独立的 xDS 服务器 Aeraki: 为Istio提供七层协议扩展的开源项目,可以支持 Dubbo、 Thrift、Redis以及私有协议,目前已支持: • Dubbo 缺省路由 • Dubbo version-based traffic splitting • 后续规划: • 其他协议支持:Thrift,Redis ,TARS … • 在 TCM 中提供托管的 Aeraki,为客户提供第三方协议支 持 16 Aeraki 项目后续计划 Dubbo [Done] Default routing [Done] Version-based routing [Done] Traffic splitting [Todo] Header0 码力 | 20 页 | 11.31 MB | 5 月前324-云原生中间件之道-高磊
为Mesh打造具备API感知和安全高效的网络层安全解决方案, 克服了Calico SDN安全和性能方面的不足 应用透明,全局管理视角,细粒度安全策略,针 对Node层面构建安全,端到端安全需要和以上安 全方案集成。 说说应用基本依赖的四大件:数据库、存储、中间件和大数据 下单服务 交易支付 支付网关 锁定库存 库存数据库 前台类目 商品查询 BFF 商品数据库 文件存储 logging MQ 交易数据库 大数据 营销分析 • 四大件在云原生场景下技术架构有什 么创新? 业务异步化|削峰填谷 高级能力-云原生数据库-应用的基石-1-价值和差别 先从一个广告词来看看云原生数据库和一般数据库的差别 项目 传统数据库 Oracle 云原生 数据一体机 存储架构 存算一体: 调整困难、只能满 足一定的吞吐量要 求 存算分离: 自动调整、拓展能 力强,满足更大吞 吐量 存储自动扩缩容 手工填加机器, 手工同步 比如原生APP使用MYSQL协议访问传统数 据库,可以不加修改的,还是使用老的 MYSQL协议驱动,依然可以和云原生数据 库进行连接。 高级能力-云原生存储-应用的基石-1-云原生化需求(从应用角 度) 我们从云原生数据库那里基本可以嗅出云原生对四大件的诉求性质了,所以这里我直接给出对云原生存储的要求 1. 敏捷化需求 • 云原生应用场景对服务的敏捷度、灵活性要求非常高,很多场景期望容器的快速启动、灵活的调度,这样即需要存储卷也能敏捷的根据0 码力 | 22 页 | 4.39 MB | 5 月前3BRPC与UCX集成指南
on_edge_triggered_events18 例子:Request输入处理19 Channel创建Socket20 Channel远程调用的发起21 UCX ●NVIDIA Mellanox 开源项目 ●支持RDMA,TCP,Shared memory等 ●能透明支持多个链路传输,例如多网卡bond ●编译成.so或lib的方式,可以集成到应用程序里 ●有完善的配置功能,ucx_info可以dump配置信息 ●高级特性 –大消息报文的自动分片传输 –Active message, atomic operation, tag match, stream27 典型的RDMA栈28 UCX 编程的一些基本概念 ●Context –收集机器资源(内存,网卡等),在应用的各个部分共享 ●Worker –完成ucx的功能,可以在应用程序中调用的函数(不是单独执行的线程) ●Listener –接收连接请求 ●开源分支:https://github.com/opencurve/incubator-brpc.git –curve主干分支 –ucx_am当前rdma分支 ●对brcp的改动不大,加入的模块基本上独立 ●降低了开发难度 ●ucx满足我们对rdma支持的需求 ●已经测试通过了curve验证,取得了不错的性能提升66 Thank You!0 码力 | 66 页 | 16.29 MB | 5 月前3Service Mesh的实践分享
我是作者名称服务化体系1.0 • OSP(Open Service Platform) • Thrift over Netty • 基于Java语法的DSL • Zookeeper • 胖客户端 • 基本服务治理功能 App OSP Server Service Registry Service Config Center 服务发现 服务注册 服务元数据下发 OSP client 服务路由 服务注册agent • 服务端的一些治理、trace、鉴权功能通过代码插 件的方式实现 • 治理效果考虑 • 服务端嵌入治理功能可以让治理效果更好,如提 供主动GC、线程池隔离等 • 因为是内部项目,优雅性和治理效果之间,选择 了后者 App Local Proxy OSP OSP client App Envoy App EnvoyClient端不基于IPTable劫持 • 物理机sidecar单客户端,无须扩容 Daemonset根据宿主机的配置调整Proxy的 资源以应对客户端增多的情况。容量超标 则临时转移到remote proxy 承接临时流量和非主要流量, 基本无动态扩容需求。上云之 后(目前物理机)可以支持动 态扩容Sidecar(in Pod) vs. Daemonset + remote proxy Sidecar(in Pod) Daemonset0 码力 | 30 页 | 4.80 MB | 5 月前3
共 50 条
- 1
- 2
- 3
- 4
- 5