问题

常见的项目技术架构有哪些

答案

  • C架构
    即Client,不用联网也可以使用,例如WPS、单机游戏。
  • C/S架构
    即Client/Server架构,必须联网,例如QQ、微信等。C/S的优势在于界面流畅,更易使用本地资源;劣势在于版本更新代价大,通常需要同时维护多个版本。
  • B/S架构
    即Browser/Server架构,必须联网,例如淘宝、京东。B/S的优势在于版本更新极其方便;劣势在于本地使用受限,需要依赖浏览器。
  • 分布式架构
    随着用户激增,单个服务已经不能承担这么大的访问量。于是,就可以把一个大的项目分割成一个个的小项目,每个小项目单独承担一部分功能,并且单独部署,大粒度变小粒度,易于编码,维护,升级,只是管理难度必然升级,与分布式架构带来的巨大好处相比,其管理难度只是一部分成本而已。分布式架构的实现技术一般选择dubbo+zookeeper。dubbo承担一部分管理功能,zookeeper作为注册中心。
  • 微服务架构
    微服务架构是分布式架构的升级和优化,业务完成了彻底的组件化和服务化。微服务架构首选springcloud。springcloud包括一系列组件,从注册、发现、熔断、路由、过滤、监控、管理等都有其对应的组件,且因其与spring天然的关联,生态丰富、社区活跃。提到微服务,基本都是指springcloud。