Go在数据库中间件的应用
Go在数据库中间件的应用 基础架构组/刘延允 liuyun827@foxmail.com 2017年9月 1 关于我 • 刘延允——酷狗音乐,基础架构组 • 数据库变更通知服务 • 酷狗消息队列 • 酷狗数据库中间件 • 主要工作:分布式存储、高可用、数据库 • 两年通信设备开发经验,四年互联网 • 五年C/C++使用经验,一年Golang 2 CONTENTS • 程序开发的需求 程序开发的需求 • Golang特性 • Go开发mysql中间件 • 整体方案 • 分表路由 • 故障切换 • 平滑扩容 • 系统运维 3 程序开发的需求 • 语言特性精炼,容易入门 • 开发效率高,代码逻辑清晰 • 运行性能强,节省机器资源 • 部署维护方便 • 生态圈完善 4 Golang特性 • Go语法简练;没有学习压力 • 开发效率高;语言描述能力接近于脚本语言0 码力 | 17 页 | 4.02 MB | 1 年前3Laravel 5.6 中文文档
}); }); 在 Laravel 5.6 中,你可以基于认证用户模型属性指定一个动态的最大请求次数,如果 User 模型包含 rate_limit 属性,可以将属性名传递 给 throttle 中间件,以便用于计算最大请求次数计数: Route::middleware('auth:api', 'throttle:rate_limit,1')->group(function () { 状态码,那么需要将它们修改 为 201。 信任代理 由于信任代码功能使用的底层 Symfony HttpFoundation 有改动,所以必须微调 App\Http\Middleware\TrustProxies 中间件。 $headers 属性之前是个数组,现在是一个接收几个不同值的属性。例如,要信任所有转发头,需要像这样更新 $headers 属性: use Illuminate\Http\Request; null。 维护模式 当你的应用处于维护模式时,所有对应用的请求都应该返回同一个自定义视图。这一功能在对应用进行升级或者维护时,使得“关闭”站点变得轻而易 举。对维护模式的判断代码位于应用默认的中间件栈中,如果应用处于维护模式,访问应用时状态码为 503 的 MaintenanceModeException 将会被 抛出。 要开启维护模式,关闭站点,只需执行 Artisan 命令 down 即可:0 码力 | 377 页 | 14.56 MB | 1 年前3Laravel 6.0 中文文档
第一部分:序言 新版特性 Laravel 6.0(LTS 版本) 在 Laravel 5.8 的基础上继续进行优化, 包括引入语义化版本、兼容 Laravel Vapor、优化授权响应、支持任 务中间件、新增懒集合、优化数据库子查询、将前端脚手架提取到独 立的 Composer 包 laravel/ui、以及多个 bug 修复和可用性的提 升。 语义化版本 Laravel 框架包 laravel/framework $response->message(); } 此外,当在路由或控制器中使用 $this->authorize 或 者 Gate::authorize 方法时,这些自定义的消息会被自动返回给前 端。 任务中间件 任务中间件允许你封装自定义的队列任务异常业务逻辑,避免在任务 自身处理中混入对应样板代码。例如,在之前的 Laravel 版本中, 你可能需要在频率限制回调中封装某个任务的 handle 方法处理逻 }, function () { // 无法获取到锁... return $this->release(5); }); } 而在 Laravel 6.0 中,该业务逻辑可以被提取到任务中间件中,从而 将你的任务 handle 方法从频率限制中解放出来:0 码力 | 1442 页 | 14.66 MB | 1 年前3Laravel 5.2 中文文档
2、Laravel 5.2 Laravel 5.2 在 5.1 基础上继续改进和优化,添加了许多新的功能特性:多认证驱动支 持、隐式模型绑定、简化 Eloquent 全局作用域、可选择的认证脚手架、中间件组、访问频 率限制、数组输入验证优化等等。 多认证驱动 在之前的 Laravel 版本中,框架只支持默认的、基于 session 的认证驱动,且在单个应 用中只能拥有一个认证模型类(对应单张 Eloquent 模型类的话,Laravel 将会自动注入该模型。 更多隐式模型绑定详情请查看 Laravel 5.2 文档 HTTP 路由模型绑定部分。 中间件组 中间件组允许你通过单个方便的键来对相关路由中间件进行分组,从而为某个路由一次指 定多个中间件。例如,在同一个应用中构建 Web UI 或 API 时这一特性很有用,你可以 将 session 和 csrf 路由分组到一个 web 组,或者将访问频率限制分组到 组像这样分配给路由: Route::group(['middleware' => ['web']], function () { // }); 访问频率限制 一个新的访问频率限制中间件已经被内置到框架中,从而允许你轻松限制给定 IP 地址在 指定时间内对某个路由发起请求的数目。例如,要限制某个 IP 地址每分钟只能访问某个 路由 60 次,你可以这么做: Route::get('/api/users'0 码力 | 377 页 | 4.56 MB | 1 年前3Laravel 5.1 中文文档
将登录次数限制引入框架,更多详情请参考认证限制一节。 Laravel 5.1 Laravel 5.1 在 5.0 的基础上继续进行优化和提升,接受 PSR-2 代码风格,新增事件广播 机制,中间件参数,Artisan 优化,等等。 PHP 5.5.9+ 由于 PHP 5.4 将会在今年 9 月份“寿终正寝”,并且 PHP 开发组不会再提供安全更新,Laravel 5.1 要求 PHP5 连接广播事件变得简单可行。 广播 Laravel 事件允许你在服务端代码和客户端 JavaScript 框架之间共享相同的事件名称。 更多关于事件广播的内容请查看事件一节。 中间件参数 Laravel 5.1 里,中间件可以接受额外的自定义参数,例如,如果你的应用需要在执行给定 的 action 之前验证被授予指定“角色”的认证用户,可以创建一个 RoleMiddleware 来接收角 色名称作为额外参数: le)) { // 跳转... } return $next($request); } } 中间件参数可以再定义路由时通过:分隔中间件名称和参数名称来指定,多个参数可以通过 逗号进行分隔: 本文档由 Laravel 学院(LaravelAcademy.org)提供 3 Route::put('post/{id}'0 码力 | 307 页 | 3.46 MB | 1 年前3Laravel 5.3 中文文档
........................................................................................ 100 5.2 中间件 .................................................................................................. orders', 'check-status' => 'Check order status', ]); 此外,Passport 还包含了用于验证访问令牌认证请求包含必要令牌域的中间件: Route::get('/orders/{order}/status', function (Order $order) { // Access token has "check-status" 和 api 路由文件在如何分割 Web 界面和 API 路由方面提供了指导。api 路由文件中的路由会通 过 RouteServiceProvider 自动添加 api 前缀和 auth:api 中间件。 闭包控制台命令 除 了 通 过 命 令 类 定 义 之 外 , 现 在 Artisan 命 令 还 可 以 在 app/Console/Kernel.php 文 件 的 commands0 码力 | 691 页 | 9.37 MB | 1 年前3go web 框架 严清
服务就是操作 HTTP,实⽤用语法糖极⼤大提升开发⼈人员的幸福指数 Middleware 模式及其控制 Express、koa、toa、Gear、Echo、Gin、Iris… ⼤大家都选择了了中间件模式 app := gear.New() app.Set(gear.SetLogger, log.New(gear.DefaultFilterWriter(), "", log.LstdFlags)) Pagination) app.UseHandler(initRouterV1(mongoService, zipkinService, authService)) gRPC ⽣生态也玩起了了中间件模式。。。 import "github.com/grpc-ecosystem/go-grpc-middleware" myServer := grpc.NewServer( grpc )), ) Middleware 模式及其控制 • 简单标准的接⼝口,通过插拔式组合能⼒力力构建复杂应⽤用 • 专注于单⼀一功能的实现,逻辑解耦,精益求精 Gear 定义了了两种形式中间件: // Middleware defines a function to process as middleware. type Middleware func(ctx *Context) error0 码力 | 23 页 | 333.12 KB | 1 年前3美团点评2018技术年货
154 ...................................................................... 美团服务体验平台对接业务数据的最佳实践-海盗中间件 167 ...................................................................... 美团点评智能支付核心交易系统的可用性实践 176 美团点评基础架构部希望在基础存储、高性能通信、大规模在线访问、服务治理、实时监控、容器化及集 群智能调度等领域提供业界领先的、统一的解决方案,CAT 目前在美团点评的产品定位是应用层的统一 监控组件,在中间件(RPC、数据库、缓存、MQ 等)框架中得到广泛应用,为各业务线提供系统的性能 指标、健康状况、实时告警等服务。 本文会对 CAT 的客户端、性能等做详细深入的介绍,前不久我们也发过一篇 CAT 源建设工作,为 CAT 的成长贡献 了巨大的力量。 CAT 3.0 开源发布,支持多语言客户端及多项性能提升 - 美团技术团队 美团点评基础架构部负责人黄斌强表示,在过去四年中,美团点评在架构中间件领域有比较多的积累沉 淀,很多系统服务都经历过大规模线上业务实际运营的检验。我们在使用业界较多开源产品的同时,也希 望能把积累的技术开源出去,一方面是回馈社区,贡献给整个行业生态;另一方面,让更多感兴趣的开发0 码力 | 229 页 | 61.61 MB | 1 年前3Nacos架构&原理
, 对软负载⼀个系统的进行阐述,通过 Nacos 开源分享阿里软负载最佳实践,希望能够帮助到各位开 发者,各位系统架构师,少走弯路。 阿里巴巴云原生应用平台负责人 - 丁宇(叔同) 在阿里中间件开源、自研、商业三位⼀体的战略中,微服务 DNS(Dubbo+Nacos+Spring-cloud- alibba/Sentinel/Seata)组合始终走在前列,引领着微服务领域的发展趋势。Nacos Nacos,也有助于提高分布式系统的设计研发能力。 阿里巴巴中间件负责人 - 胡伟琪(白慕) 阿里巴巴在 10 多年分布式应用架构实践过程中,产出了⼀大批非常优秀的中间件技术产品,其中软 负载领域的 Diamond、Configserver、Vipserver,无论在架构先进性、功能丰富度以及性能方面均 有非常出色的积累,2018 年初中间件团队决定把这⼀领域的技术进行重新梳理并开源,这就是本书 Distro 协议是 Nacos 社区自研的⼀种 AP 分布式协议,是面向临时实例设计的⼀种分布式协议, 其保证了在某些 Nacos 节点宕机后,整个临时实例处理系统依旧可以正常工作。作为⼀种有状态 的中间件应用的内嵌协议,Distro 保证了各个 Nacos 节点对于海量注册请求的统⼀协调和存储。 设计思想 Distro 协议的主要设计思想如下: Nacos 每个节点是平等的都可以处理写请求,同时把新数据同步到其他节点。0 码力 | 326 页 | 12.83 MB | 9 月前3Node 在有赞的实践
3 Koa 中间件 有⼈人(有赞的⼀一个内部管理理系统) 第⼀一个 Node 项⽬目 4 Koa 中间件 有⼈人(有赞的⼀一个内部管理理系统) 第⼆二个 Node 项⽬目 脚⼿手架模板 有赞官⽹网 5 Koa 中间件 有⼈人 阿童⽊木 0.0.1 诞⽣生 有赞官⽹网 Astroboy 阿童⽊木 有赞招聘 有赞云官⽹网 Koa + 中间件 脚⼿手架模板 阿童⽊木 阿童⽊木 0.0.1 6 Koa 中间件 有⼈人 很多项⽬目都开始⽤用 Node 了了 有赞官⽹网 Astroboy 阿童⽊木 有赞招聘 有赞云官⽹网 云控制台 分销 中间件 中间件 7 Koa 交易易 店铺 Astroboy 阿童⽊木 ⽤用户 营销 有赞官⽹网 有赞招聘 Youzan Base Framework Iron Base Framework Astroboy0 码力 | 29 页 | 945.50 KB | 1 年前3
共 103 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11