jshoperxms改造计划-jshoperxms-cloud

原创
2019/11/10 13:34
阅读数 84

大家好!我是jshoperxms开源电商的作者,开源地址是https://gitee.com/sdywcd/jshoperxms

这次改造的源代码分享在https://gitee.com/sdywcd/langdu-cloud  【由于用了docker等技术,可能各位在运行的时候会有很多的前提障碍,比如要安装docker,在docker下安装mysql,redis集群等等的问题】

这次我想把jshoperxms改造下,改成基于spring-cloud架构和docker容器技术的项目。也是突然想把遇到的问题和这次改造的过程写下来和大家分享。【其实说改造这个词吧,也不是很符合软件架构的身份,说架构调整吧。】

从jshoperx~3x再到jshoperxms经历很多年的技术变革和大环境变化后,为了追上这个时代的步伐。改造计划开始:jshoperxms的springcloud之路。

 

1,大家先来看看这个图,熟悉spring-cloud的人一眼就能明白了。如果刚了解spring-cloud的朋友,大概有一堆问号吧。其实一开始谁都充满了问号和好奇心。

    1-1:先来说说这个图的意思吧。我的想法是通过多个components和微服务来完成一个大集合的开发结构。我们可以通过技术角度来抽象components,比如我把redis和redisson单独写一个components,然后通过gradle来和微服务做依赖打包。当然大家喜欢通过什么角度分components的原则就是喜欢就好合适就好,团队理解就好。

    1-2:再来说说这个图上和微服务有关系的部分:左侧都是微服务。langdu-config、langdu-eureka、langdu-eureka2、langdu-ec-member、langdu-fn-member、langdu-gateway。这个顺序就是建议的服务启动顺序。【为什么都是langdu开头,因为langdu是我在做的一个小程序朗读能手的名字而已】

        a:langdu-config:配置信息服务。怎么理解呢?就是当有很多很多微服务的时候,如果你没有单独的抽离出链接数据的配置等,你会发现你要写很多yml文件,该起来也会非常的可怕,你需要很仔细。所以如果我们单独的做配置信息服务,那么你可以专注的修改配置。少一点恐惧哈哈。当然网上有很多说config放在git或者本地的教程。我后面也会说。会结合我的改在一点点的说。

        b:langdu-eureka和langdu-eureka2:是微服务的服务注册中心,这里有2个也是高可用的考虑。这里所有的微服务都可以注册上来。

        c:langdu-ec-member:这就是微服务的业务主体了。真的在写服务的地方,真的和数据库打交道的地方在这里。ec其实就是eureka-client的简写,我自己想这么写。

        d:langdu-fn-member:这个是服务消费者了,天生配置了负载均衡。当然我在里面加了熔断器和服务链路监控

        e:langdu-gateway:这个是服务网关,在这里你可以做路由分发,服务熔断降级,访问认证等。

2,这次我使用了docker来做整体的发布和运维,其实我自己也没有怎么搞过docker,但是总要有一个机会让自己学习下。

    2-1:我在服务中写了Dockerfile来生成镜像和容器。

好了今天就说这么多,详细的内容,我会边改造边和大家分享。

 

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部