一直以来,程序员的成长都需要一个真实项目来打磨,就跟一个好的狙击手需要子弹来滋养一样。那么在知了堂里,你可以通过真实的商业项目来达到技术的提升。
2018年9月,知了堂Java班level5成立专项小组,顺利拿到了《百福云商城》项目。这个系统是某商贸公司外包项目,采用的是当前流行的分布式架构+微信小程序,level5项目组承担了系统的整体开发、改造以及上线工作。系统一期仅仅历时20天就完成了基本开发。项目组刚刚成立的时候,根本没有接触过分布式的项目,在项目经理韩天成的带领下一边学习分布式技术,一边开发克服新业务、需求变更频繁的各种困难,顺利实现系统上线,得到用户的高度认可和好评。
那么现在给大家介绍一下,本次分布式系统项目:
大家好,我们是知了堂Java班的学长,今天给大家介绍一下我们的分布式系统项目——《百福云商城》
猜猜哪个是张伟
哦,你可能听过分布式,但是并不知道分布式是什么,学长先给科普一下啦~~
分布式——一个高大上的名词,是计算机软件设计中人民群众喜闻乐见的“逼格满满”、“不明觉厉”的几个名词之一,所以也是提升逼格的关键要素,最~最~最...最重要的是:分布式系统架构是互联网企业升职加薪的重要考核技术。
好啦,分布式计算就是通过计算机网络将计算工作分布到多台主机上,多个主机一起协同完成工作。
该隆重介绍一下我们的项目了~~这次我们做的是基于微信端的在线商城,技术选型的话有:Dubbo+zookeeper+spring+springMVC+mybatis+nginx+mycat+redis+fastdfs
这上面的每一个词是不是都觉得好陌生啊!,不着急,先来看看系统架构图
是不是不明觉厉??没关系,戳一戳下面的视频,看这3位帅气,头发浓密的学长如何向大家介绍我们的项目。
我们大家都是第一次做分布式项目,也是第一次接触小程序,这对大家来说是一个很好的提升。比如今后的求职,可以大幅增分;在以后工作中,如果遇到类似的问题,虽说了解得不是很深,但是,至少遇到了不会特别慌张。这次的项目让我们明白了不管做什么事,都要明确自己的目标。此次项目实战仅是我们未来项目开发道路的起点,今后,我们会不断学习,积累技术知识,开发出属于自己的软件。关于这次的项目,就说这么多了,希望大家也努力学习。
项目实战一直是知了堂教学的重要组成部分,也是提升我们实战能力的重要方式,学弟学妹们不能怠惰哦~
【知识小课堂】Java项目的架构方式
如下图所示 ,Java项目大体上经历了由单一应用架构到垂直应用架构再到分布式应用架构的一个过程,接下来我们就来详细了解下这三种架构的变化和进步。
1.传统的架构思维 -> 单一应用架构
单一应用架构的意思就是一个项目就是一个系统 ,在21世纪初,大规模的企事业单位的信息电子化,涌现出一大批应用于企业内部信息管理的系统,如OA ,财务管理软件,人事管理系统,ERP等,但是随着系统的业务功能增多,代码量增大,变得原来越来越难以维护,且不容易扩展,而且随着系统的访问量越来越大 ,系统的性能瓶颈也越来越突出。
2.垂直应用架构 -> 一个系统拆分成多个子系统
垂直应用架构简单来讲就是将原有的单一应用架构的系统 拆分成多个子系统。
一定程度上解决了系统难于维护的问题,每个团队可以负责维护自己的子系统,降低了维护成本,提升了开发效率。
也解决了系统扩容的问题 随着业务的扩展我们可以通过增加一个子系统来解决,不会影响其他的子系统。
同样也在一定程度上解决了对系统访问进行分流的问题,根据不同子系统的性质和访问量进行合理服务部署规划。
但是垂直应用架构中各个子系统存在着相同逻辑的一些业务代码(权限验证,日志记录,缓存,系统安全,系统报表....),不能共用,容易造成信息孤岛,重复造轮子。
3.分布式架构 -> 一个系统拆分为多个服务
随着垂直应用架构的子系统应用越来越多时,为了避免相同重复造轮子,我们将共用和核心的业务抽取出来,作为单独的系统对外提供服务, 使得各个子系统都可以复用,就演变成了如上图所示的分布式架构。
【加点戏】学长最后再讲一句:Java使用面非常的广,现在几乎成了IT领域的基础语言,无论是传统的开发,还是架构的设计都离不开Java!Java才是世界上最美好的语言,同意不?