[TOC] ## 一、服务端框架选型 > 服务端所对应的平台为**上级平台**。 本项目中使用到的主要技术栈有: - Springboot - Mybatis-plus - Redis - NIO - Netty - Maven - Mysql - MongoDB ### 设计模式 > 设计模式就如同运行在905.4王国的一项铁律,它使这个王国的成员紧密相连而各有分工,据说这项规则还能让未来的时代随时拥抱变化。 采用恰当的设计模式,实现消息的接收、处理、回复过程,使后期维护过程中代码更容易扩展。 ### 小册阅读方法 方式一: 按照小册提供的代码结构新建相应的代码文件。适合有一定Spring框架基础的朋友,有一定的开发经验,如熟悉maven包管理机制; 方式二:联系作者获取源码,开箱运行,对照小册了解设计原委。 > 可以重点关注一下第四章,首先了解清楚项目是怎么跑的,实现了什么功能。再来配合代码debug和开发文档,深入学习代码实现思路。 ### 传统NIO与Netty,谁与争锋 本册的内容分别用NIO和Netty作为服务端的实现,在理解NIO底层的基础上,我们再使用Netty对服务端进行了实现。我们可以从两者的性能、易用度多方位获得较为深刻的体验。 ### 关于数据存储 关于数据持久化,本小册没有做相应功能。对于学习协议的同学,可以使用mysql用来存储所有的业务数据;**对于生产应用的同学,建议在数据存储上要做好选型**。 对于生产环境存储引擎,我给出的建议是: - 定位数据存储到MongoDB中,因为定位数据量真的太大了,出租车们无时无刻不在推送着定位数据;MongoDB在分布式存储、扩容方面有着不错的优势。 - 订单数据这块比较接近用户的业务场景,所以建议存储在Mysql中。 ## 二、扯点学习方法 ### 🎉**高效记忆的根本是“联系”** 不成体系的知识是松散的,人高效记忆的根本是“联系”。你可了解过各种世界记忆大师,他们的高效记忆方法中用到了很多联想、关联的方法,把复杂、没有关系的内容进行了联想并进行了关联,以致于简化了记忆的内容本身,从而达到高效记忆的效果。 当然,我们IT人面临的技术栈是日新月异的,采用记忆的方式来来构建知识体系是远远不正确的,正确的方法应该是在理解其核心——**思维方式**的基础之上,**构建由联系组成的网状知识体系**。当今IT技术的发展仍然没有脱离**冯·诺依曼**的架构体系。 ### 🎉**体系化的认识让我们更有谱** 不知庐山真面目,人的内心是虚的,你甚至不知道下一次你会遇到怎样的困难,当然也就不知道自己的弱项是什么。因此,针对学习一个技术栈的时候,最好先找到这个技术栈的“目录”,先学着去了解它的结构。 本册注重实战,一直基础的知识并没有作详细的阐述,但子涵会提供配套知识点思维导图给大家,以让大家能对知识脉络有清楚的认识。 ### 🎉技术思维导图分享 关于本篇相关的技术栈,我整理了对应的思维导图。 | 主题 | 推荐指数 |备注| | --- | --- | --| |[Netty](http://naotu.baidu.com/file/86a6b68d1d2f24602b3d031d41a31678?token=8607cf04b26bd603)|⭐⭐⭐⭐⭐| Netty学习材料整理 |[mysql](http://naotu.baidu.com/file/925ca34111e88e4b99268b23d2e19376?token=7038d27abe5b56b4)|⭐⭐⭐⭐⭐|mysql实战基础与学习资料整理 |[redis](http://naotu.baidu.com/file/1ac6866a89587a9863a724514a73ed43?token=c14d8c33aef9e834)|⭐⭐⭐⭐⭐|基础框架与实战案例| >[warning] 让我们快速构建可运行的905数据解析服务。✨🎉