起因
有一天,苹果和西瓜说:“哎,市面咋没有好用的微服务商城呢?”
西瓜:“太难了呗,你看这个好像是微服务商城耶”
苹果:“这个只有后台代码,数据库都没”
西瓜:“这个呢”
苹果:“有数据库没前端”
西瓜:“这个呢”
苹果:“有前端,但是是pc的,我要移动端的”
西瓜:“这个呢”
苹果:“开不了店,不是b2b2c”
西瓜:“这个呢”
苹果:“太旧了,不维护了”
西瓜:“那我们自己写个吧“
准备
一个微服务商城应该有啥呢?
答:要拆分服务吧。
拆分之后用啥做服务注册发现呢?
答:spring cloud alibaba 吧,最近挺火的。
都拆开服务了,要分库吧?
答:分,必须分呀。
分完库要处理分布式事务吧?
答:用seata吧,比较简单。追求性能的时候,用mq实现最终一致性吧。
服务内部调用要用dubbo吧,听说性能挺高的?
答:是呀,不过用http协议会不会好点,毕竟听说dubbo对k8s的兼容不怎么好耶。用http协议,以后改造架构方便呀。
搜索呢?
答:要分词吧,用es
数据库要同步到es耶,用啥?
答:canal吧
那安全呢?登录权限呢?
答:安全用security,登录之类的自己手写吧,spring security的那套太复杂了。
金额呢?
答:用分啦
实施
做一个商城的第一步,统一异常处理
本来设想是dubbo的,后来发现dubbo和nacos的兼容性不太好,k8s也有很多dubbo不兼容的坑,决定去除dubbo
引入阿里的代码规范
springcloud2020刚release,迎难而上
<