0.如果我要为公司搭建一个平台,我会选择哪些单元,为什么选择
首先要了解公司的需求:我们的目标是快速搭建适用于大中小型项目的基础框架,能快速便捷的开发
为了实现这个目标,我能做些什么?
1.我们都用了什么单元
2.这些单元是怎么组成框架的
3.为什么要选择这些单元
4.什么是微服务架构?
软件架构分成单体式架构和微服务架构,单体式是将项目中所有的源码都放置在一个总项目中进行开发,部署和管理,在项目中分成多个模块。
由于之前项目都是在一个大的项目里分模块,单体式架构,没有办法针对单独的模块进行资源分配,捆绑分配会造成资源浪费,所以后来将每个模块都拆开,每个都是独立的小项目,称之为微服务,微服务之间按照分布式的方式进行通信。
常见的微服务架构:
Dubbo
spring cloud:基于spring boot实现的,提供了很多组件(配置管理,服务发现,断路器,智能路由,微代理,控制总线,全局锁,决策竞选,分布式会话,集群状态管理 )
5.微服务架构的优势:
a.降低管理的复杂度,从管理一个大的项目变成管理小的服务
b.团队界限明确
c.扩展灵活,每个服务可单独扩展,
6.怎么保证各个微服务之间的通信?
一般有两种,一种是基于HTTP的RESTful风格的远程服务通信,一种是基于RPC的远程服务通信,把微服务架构中调用服务的一方称为Customer,被调用的称为Provider,分布式和集群也是常见的架构部署方式。
7.custmer和provider
如果一个服务既是消费者又是提供者,最好拆成两个独立的模块,避免相互依赖。
8. 微服务架构拆分原则:围绕业务,单一职责,谁创建谁负责
9.分布式和集群的区别
分布式架构是按照业务功能,将一个完整的系统拆分成一个个独立的子系统,在分布式架构中,每个子系统都是服务,可以部署在不同的机器上,互相通信。
集群是一组相互独立的,通过高速网络互联的计算机,是一个组,以单一系统的模式加以管理,一组机器做同样的事情,复制的功能,能提高系统性能和扩展性。
10.虚拟机和容器是什么,区别是什么
https://zhuanlan.zhihu.com/p/81525291
在日常应用中,我们通常会利用Docker将一个服务器创建为一系列容器,使得整个服务器像集群一样运行。
11.Docker Image镜像
镜像类似于一个快照,把容器内当前状态留存下来,利用镜像,我们可以还原当初容器的状态
Docker Registry
记录中心是为了使用户更轻松的开发Docker环境,将一些常用的容器打包程镜像,直接下载,启动镜像后就可以成为本地容器
12.什么是框架
参考资料:https://github.com/javahongxi/whatsmars