Spring-Boot
Spring Boot解决得问题
配置、部署、监控变得简单。
Boot只需要很少得配置(@Configuration),项目快速搭建,主流框架无配置集成。
核心功能
- 独立运行Spring项目
- 内嵌servlet容器 - SpringApplication.run()
- 提供starter简化maven配置
- 自动装配Spring
- 准生产的应用监控
- 无代码生产和xml配置
Spring-Cloud
Spring Cloud简介
Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。
微服务
简单的说,微服务架构就是将一个完整的应用从数据存储开始垂直拆分成多个不同的服务,每个服务都能独立部署、独立维护、独立扩展,服务与服务间通过诸如RESTful API的方式互相调用。
优势
Dubbo
Dubbo 工作原理:服务注册、注册中心、消费者、代理通信、负载均衡;
一般的mvc项目 包含 Controller、Servicei、ServiceImpl、dao三层
使用doubbo我们可以把项目拆分:
Controller 作为 “消费着” 一个项目
ServiceImpl +dao 作为 “提供者” 一个项目
Service “接口” 可以作为一个项目
Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
节点角色说明:
* Provider: 暴露服务的服务提供方。
* Consumer: 调用远程服务的服务消费方。
* Registry: 服务注册与发现的注册中心。
* Monitor: 统计服务的调用次调和调用时间的监控中心。
* Container: 服务运行容器。
慢查询优化
一:慢查询原因
查询语句中存在计算逻辑
全表查询没有命中索引,或者没有索引
二:慢查询通常解决方式
1.检查是否正确使用并命中索引
2.避免使用select -解析过程会将转换所有列名,消耗更多的时间
3.Order By语句优化 - 使用的列建立索引 避免使用计算表达式
4.Group By 优化 - 筛选条件在Group By之前过滤掉
5.使用Exists代替in - in会导致全表扫描,连续的数值可以用Between And
6.使用varchar/nvarchard代替char/nchar - 变长字段的存储空间小
7.能用Union All 就不用Union - Union并集,会去除重复数据
8.索引不是越多越好 - 会降低 Insert和Update效率