什么时刻用到nginx tomcat负载平衡


他请求量到达一定水平,单tomcat无法负载的时刻,就需要使用nginx做负载平衡了


什么是springboot

        用来简化spring应用的初始搭建以及开发历程 使用特定的方式来举行设置(properties或yml文件)

                建立自力的spring引用程序 main方式运行

                嵌入的Tomcat 无需部署war文件

                简化maven设置

                自动设置spring添加对应功效starter自动化设置

springboot自动设置的原理

        在spring程序main方式中 添加@SpringBootApplication或者@EnableAutoConfiguration

        会自动去maven中读取每个starter中的spring.factories文件  该文件里设置了所有需要被建立spring容器中的bean


springboot读取设置文件的方式


        springboot默认读取设置文件为application.properties或者是application.yml


springboot集成mybatis的历程

        添加mybatis的starter maven依赖

                <dependency>

                        <groupId>org.mybatis.spring.boot</groupId>

                        <artifactId>mybatis-spring-boot-starter</artifactId>

                        <version>1.2.0</version>

                </dependency>

        在mybatis的接口中 添加@Mapper注解

        在application.yml设置数据源信息


什么是微服务

        以前的模式是 所有的代码在同一个工程中 部署在同一个服务器中 同一个项目的差别模块差别功效相互抢占资源

        微服务 将工程凭据差别的营业规则拆分成微服务 微服务部署在差别的机械上 服务之间举行相互挪用

        Java微服务的框架有 dubbo(只能用来做微服务),spring cloud(提供了服务的发现,断路器等)


springcloud若何实现服务的注册和发现

        服务在公布时 指定对应的服务名(服务名包罗了IP地址和端口) 将服务注册到注册中央(eureka或者zookeeper)

        这一历程是springcloud自动实现 只需要在main方式添加@EnableDisscoveryClient  同一个服务修改端口就可以启动多个实例

        挪用方式:通报服务名称通过注册中央获取所有的可用实例 通过负载平衡计谋挪用(ribbon和feign)对应的服务


ribbon和feign区别

        Ribbon添加maven依赖 spring-starter-ribbon 使用@RibbonClient(value="服务名称") 使用RestTemplate挪用远程服务对应的方式

        feign添加maven依赖 spring-starter-feign 服务提供方提供对外接口 挪用方使用 在接口上使用@FeignClient("指定服务名")