微服务简介
1. 单体项目框架、SOA框架与微服务框架的区别
2. 微服务框架优缺点
- 优点
- 易于开发和维护: 一个微服务只会关注一个特定的业务功能, 所以它业务清晰、 代码量较少。 开发和维护单个微服务相对简单。 而整个应用是由若干个微服务构建而成的, 所以整个应用也会被维持在一个可控状态。
- 单个微服务启动较快: 单个微服务代码量较少, 所以启动会比较快。
- 局部修改容易部署: 单体应用只要有修改, 就得重新部署整个应用, 微服务解决了这样的问题。 一般来说, 对某个微服务进行修改,嗅只需要重新部署这个服务即可。· 技术栈不受限: 在微服务架构中, 可以结合项目业务及团队的特点, 合理地选择技术栈。 例如某些服务可使用关系型数据库 MySQL; 某些微服务有图形计算的需求, 可以使用Neo4j:甚至可根据需要,部分微服务使用Java开发,部分微服务使用Node.js开发。
- 按需仲缩: 可根据需求, 实现细粒度的扩展。 例如, 系统中的某个微服务遇到了瓶颈, 可以结合这个微服务的业务特点, 增加内存、 升级CPU或者是增加节点。综上所述, 单体应用架构的缺点, 恰恰是微服务的优点, 而这些优点使得微服务看起来简直非常完美。 然而完美的东西并不存在, 就像银弹不存在一样。 下面来讨论使用微服务会带来哪些挑战。
3. 微服务框架的设计原则
微服务的典型案例
1. 建立服务方、消费方的SpringBoot项目完成调用
- 组件之间使用RESTful接口的形式调用
- 消费方使用restTemplate调用服务方接口
- 消费方再配置文件中以硬编码的形式记录服务方的接口地址
2. 为项目整合Spring Boot Actuator
2.1 Spring Boot Actuator简介
3. 硬编码有哪些问题
Eureka
1. Eureka服务发现器、服务方组件、消费方组件的关系和原理
2. Eureka的组成
- 2.1. Eureka Server
- 建立新的SpringBoot项目并声明成为Erueka Server
- 配置声明发现器的地址和端口
- 尝试访问发现器
- 可以查看发现器中注册了那些组件(声明为Erueka Client)
- 这些组件可以是服务方组件,也可以是消费方组件
- 可以查看发现器中注册了那些组件(声明为Erueka Client)
- 2.2. Erueka Client
- 服务方组件、消费方组件都需要配置声明成为一个Erueka Client
3. Eureka Server的高可用
- 3.1 配置两个Eureka Server组成的集群
4. 为Eureka Server增加用户认证
- 4.1 将微服务重新注册到需要用于认证的Eureka Server
5. Eureka的元数据
- 5.1 根据元数据改造服务方微服务
- 5.2 根据元数据改造消费方微服务