对于想从事Java开发的小伙伴,有几条途径时间充足的可以报班或者毕站找个名师跟课学,对于像我这种想快速学习的首先就是要了解服务端的结构,说白了就是快速的过一遍服务端是怎么组成的,学习思路:
一、逻辑代码 -->Java 语言/框架之类的
二、数据-->数据库
三、中间件:MQ、Redis...
后台语言跟数据库建立连接实现数据存取, 中间件使框架更加灵活.
如图服务端的组成分为内外,内是指框架,外则是指数据存储处理和消息管理之类的。
先说外部的数据存储:
1.持久话存储常用的关系型数据库MySQL、Oracle、PostgreSQL,都是存储于磁盘的
2.缓存常用Redis,存于内存
总结:Redis是用来做分流的,在服务端做数据请求时会先去Redis,有则反馈无则继而查询数据库,更新Redis,因Redis数据存于内存所以大大加快了数据操作速度;值得一提的是Redis分布式锁,Java本身的线程锁只能锁住当前线程,导致并发时锁的意义发挥不出来,这时就用到了Redis的分布式锁,因Redis是单线程,所以Java将并发时的数据Redis分布式锁将所有的数据根据一定的规则规整到一条线程上发挥锁的作用。再说MQ消息队列:
简单的来理解如图右下角例子,将每秒大量的同时数据存储操作变成按个排队存储操作
学习内容: 外部需要学习的内容是常用数据库的使用(https://www.w3school.com.cn/sql/sql_syntax.asp)、Redis、MQ再来说说:内部框架
学习资料地址:https://spring.io/projects/spring-cloud
1.Spring MVC(全称 Spring Web MVC)是 Spring 框架提供的一款基于 MVC 模式的轻量级 Web 开发框架,是 Spring 为表示层(UI)开发提供的一整套完备的解决方案
2.springboot是spring家族中的一个全新框架,用来简化spring程序的创建和开发过程。在以往我们通过SpringMVC+Spring+Mybatis框架进行开发的时候,我们需要配置web.xml,spring配置,mybatis配置,然后整合在一起,而springboot抛弃了繁琐的xml配置过程,采用大量默认的配置来简化我们的spring开发过程。
3.Spring Cloud为开发人员提供了工具,以快速构建分布式系统中的一些常见模式(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导力选举、分布式会话、集群状态)。分布式系统的协调会导致锅炉板模式,使用Spring Cloud开发人员可以快速建立实现这些模式的服务和应用程序。它们可以在任何分布式环境中很好地工作,包括开发人员自己的笔记本电脑、裸机数据中心和云铸造等托管平台.
4.Spring Cloud Alibaba为分布式应用程序开发提供了一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松使用Spring Cloud开发应用程序。
使用Spring Cloud Alibaba,您只需添加一些注释和少量配置,即可将Spring Cloud应用程序连接到阿里巴巴的分布式解决方案,并使用阿里巴巴中间件构建分布式应用程序系统。
希望能带小白快速的了解服务端的简单结构,之后会将所学的持续更新,共勉。