大家好,我叫大鸡腿,大家可以关注下我,会持续更新技术文章还有人生感悟,感谢~
前言
在阿里国际化二面的时候,我问了面试官lazada跟国际化中台的关系?
lazada属于其中一个业务方,而中台的概念就是要兼容各种业务方,也就是多租户的问题
面试题
- 多租户的实现
在我们公司也会遇到这个问题,就是前端会传个店铺id,然后使用本地变量去储存,再通过mybatis plus租户插件去入库。
面试官
那在jvm层面上,需要怎么注意(ps:这里我有点闷逼)
解答
每个店铺它的配置都不一样,也就是对象,实例都需要一个隔离。其次像数据库,缓存,mq也需要进行隔离。
answer:在业务上可以才有适配器模式,不同店铺会有不同的配置,以及相关独特的方法。
数据库,缓存,mq方面可以参考分布式压测的原理:就是将数据进行隔离,有影子表,影子库。
很简单就是改写sql,还有请求地址,可以通过agent(当然我不会改,嘻嘻)也可以借助对应的框架,mybatis plus多租户插件,还有shardingjdbc分库分表,还有一些本地变量的传递。
参考阿里中间件文章
中台主要解决问题:就是需要设配不同业务,调用方,品种等等,所以在出接口的时候需要做一个不同类别的设配