你的目标是成为一名自由职业者

微信登录

微信登录

因恶意注册过多,目前只支持微信模式
付费课程, 订阅后即可观看
正在播放:分库分表 - 终极一战,该你上战场的时候我肯定不替你去
发布于: 2019.12.22
Stoa911 2019.12.22 14:56

老哥厉害啊 下个课程是什么

codinget 2019.12.22 15:09

休息两天,这个系列差点搞死我,接下来写书去了

haohexin 2020.02.22 16:53

分库分表之前的了解只停留于负载均衡如果数据库的读写压力很大时,项目中也没有接触过这样的需求,一套课程看下来感觉眼界进一步拓宽了,感谢老哥的课程,同时也越发觉得laravel在解决问题的时候实在是太方便了,不过也好奇 老哥的经历 这个系列的起源 是在项目中遇到过这样的实战经历 还是觉得这是一般人容易忽略的地方 ?

codinget 2020.02.22 17:12

这个跟是不是laravel没多大关系,这是一种思路和策略,很多人不会想到这种方式,使用这种方式也可以为以后不同租户启用二级域名或专属域名预留扩展空间!这个系列产生是因为有用户想知道分库分表怎么做,我就借着多租户系统实现了一下,对于多租户系统来说,这是非常普遍的一种策略和架构方式,大部分用户只是停留在设计模式上,对架构模式领域比较欠缺,不知道也很正常!

itgou 2020.06.16 18:45

厉害了!! 我还想问个问题,对于数据量大的表,按时间进行水平分表,比如每个月一个表,这种业务场景,如何处理更加优雅呢? 还想说一句,很庆幸我买了终身版的,哈哈,最近正在做一个api项目,你视频里面的很多内容,我都用上了

codinget 2020.06.16 19:32

哈哈,那钱就花的值了,按月分表应该没多少公司会用到了,这个系列录过啥我都忘了,我下来看这个专题我要不要录第二个系列吧,把其他的分表策略也讲一讲,只是有机会用到的人真的太少了。

itgou 2020.06.16 22:02

对对,就是分表策略。公司做设备管理后台,设备需要频繁上报数据,每条数据都需要存记录,设备量大了,就不能往一个表放了,不然查询效率低啊

codinget 2020.06.16 22:44

不是吧,公司都做到这种程度了,这方面的技术积累应该有吧? 技术负责人难辞其咎啊,你也可以把不同的设备映射成“租户”这种方式,如果按月分表的话,策略其实也不难,向 ID (或者添加另一个唯一标示字段)开刀,ID 根据时间规则进行生成, 这样插入的时候就插入到指定的表格,查询整个月份的时候也比较简单,查询单条信息的时候,先解析ID,解析后就可以获取到是哪张表,再获取就行了

itgou 2020.06.17 08:03

有道理,不过还是希望推出一套讲分表策略的课程,解决问题是第一步,优雅的解决才符合laravel的思想,哈哈

fengdie 2020.07.12 16:28

请教一下,我用户使用JWT进行认证,然后公用.evn文件里面的JWT_SECRET配置,我发现把租户1的token,拿到租户2那边使用,居然登录成功了!!!! 目前只能想办法对进行办法的token管理,加上租户id进行隔离

codinget 2020.07.14 08:32

抱歉现在才回复,回了农村老家,一个本家长辈过世了,一直在忙白事。有token当然能登录啊,这就是用户或者说租户的凭证。隔离的工作确实是需要进行的,但是核心并不是隔离用户,而是将不同租户的管理者可以访问的部分隔离开,如果租户的管理者可以访问别的租户的后台修改数据那就麻烦了。

徐博 2021.03.24 17:02

如何通过不同的域名确认不同的租户呢?并且让不同的租户使用不同的路由?

codinget 2021.03.24 17:27

子域名可以做,核心的原理就比较简单了, Route::domain('{account}.example.com')-&gtgroup(function () { Route::get('user/{id}', function ($account, $id) { // }); }); 借助这种方式就可以把account映射成不同的租户,他们的路由系统还是统一的,只不过访问的时候访问专属自己的数据就行了。

徐博 2021.03.26 16:05

但是这不是要提前知道这些域名么?如果我要把域名信息保存到数据库中。查询好数据库之后在注册相应的路由呢 ?

codinget 2021.03.26 16:28

是的,域名是要提前知道的,这就是为什么商家入驻前都有一个申请的过程,通过审核的才可以拥有自己的子域名,这个映射信息需要保存到公共数据库中,并非保存到他专属的独立数据库中。

ByHenry 2021.04.07 20:53

1

标 题
找一条适合自己的路,坚持走下去
编程原力 京ICP备17045322号-2
版权所有, 侵权者追究法律责任