微服务架构风格,就像是把一个单独的应用程序开发为一套小服务,每个小服务运行在自己的进程中,并使用轻量级机制通信,通常是HTTP API。这些服务围绕业务能力来构建,并通过完全自动化部署机制来独立部署。这些服务使用不同的编写语言书写,以及不同数据存储技术,并保持最低限度的集中式管理。
简而言之,拒绝大型单体应用,基于业务边界进行服务微化拆分,各个服务独立部署运行。
1、各司其职 2、服务高可用和可扩展性
去码云新建一个项目,然后通过Idea从git上clone这个项目。
分的每一个服务均要一个模块,按需选择创建方式,需要springboot的就选择springboot,不需要的则新建一个maven的普通项目 (比如公共模块,就不需要springboot,只需要maven)
微服务模块大致可以分为:
(1)依赖工具类,用不上的可以除去
<dependency>
<groupId>com.tangxz.gulimall</groupId>
<artifactId>gulimall-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</exclusion>
</exclusions>
</dependency>
(2)根目录下的pom.xml就是这么干净
(3)每一个springboot的微服务都以下两个依赖
SpringWeb用于web服务
OpenFeign用于模块间的相互调用。
(4)gitignore配置
HELP.md
target/
!.mvn/wrapper/maven-wrapper.jar
!**/src/main/**
!**/src/test/**
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
build/
### VS Code ###
.vscode/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.mvn/wrapper/maven-wrapper.jar
**/mvnw
**/mvnw.cmd
**/.mvn
**/target/
**/.idea
**/.gitignore
(5)端口号分配
建议7000,8000,9000,10000,11000这样分配,便于日后每个服务做扩展
本文地址:https://blog.csdn.net/weixin_42295814/article/details/107503618
如对本文有疑问, 点击进行留言回复!!
利用python将Mysql信息以Excel文件并作为邮件附件发送
springmvc+mybaits+mysql上传表情Incorrect string value: ‘\xF0\x9F\xA4\xB4\xF0\x9F...‘ for
SpringCloud Greenwich集成Seata1.2.0详解说明(原创by ulwfcyvi)
mybatis generator生成代码库 与指定的库不一致 为其他库的同名表
网友评论