springboot+springcloud+nginx相关理解

什么时候用到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依赖
                
                        org.mybatis.spring.boot
                        mybatis-spring-boot-starter
                        1.2.0
                

        在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("指定服务名")
 

你可能感兴趣的:(Java实习一年面试题,二年java面试题)