当前位置:首页 > 技术文章 > 正文内容

给大家介绍一个分布式架构+微信小程序的Java项目

arlanguage3个月前 (01-31)技术文章25

一直以来,程序员的成长都需要一个个真实项目来打磨,就跟一个好的狙击手需要子弹来滋养一样。

2018年9月,知了堂Java班level5成立专项小组,顺利拿到了《百福云商城》项目。这个系统是某商贸公司外包项目,采用的是当前流行的分布式架构+微信小程序,level5项目组承担了系统的整体开发、改造以及上线工作。系统一期仅仅历时20天就完成了基本开发。项目组刚刚成立的时候,根本没有接触过分布式的项目,在项目经理韩天成的带领下一边学习分布式技术,一边开发克服新业务、需求变更频繁的各种困难,顺利实现系统上线,得到用户的高度认可和好评。

【科普小课堂】Java项目的架构方式

【知了堂】分布式科普小课堂


如下图所示,Java项目大体上经历了由单一应用架构到垂直应用架构再到分布式应用架构的一个过程,接下来我们就来详细了解下这三种架构的变化和进步。

1.传统的架构思维 -> 单一应用架构
单一应用架构的意思就是一个项目就是一个系统 ,在21世纪初,大规模的企事业单位的信息电子化,涌现出一大批应用于企业内部信息管理的系统,如OA ,财务管理软件,人事管理系统,ERP等,但是随着系统的业务功能增多,代码量增大,变得原来越来越难以维护,且不容易扩展,而且随着系统的访问量越来越大 ,系统的性能瓶颈也越来越突出。
2.垂直应用架构 -> 一个系统拆分成多个子系统
垂直应用架构简单来讲就是将原有的单一应用架构的系统 拆分成多个子系统。
一定程度上解决了系统难于维护的问题,每个团队可以负责维护自己的子系统,降低了维护成本,提升了开发效率。
也解决了系统扩容的问题 随着业务的扩展我们可以通过增加一个子系统来解决,不会影响其他的子系统。
同样也在一定程度上解决了对系统访问进行分流的问题,根据不同子系统的性质和访问量进行合理服务部署规划。
但是垂直应用架构中各个子系统存在着相同逻辑的一些业务代码(权限验证,日志记录,缓存,系统安全,系统报表....),不能共用,容易造成信息孤岛,重复造轮子。
3.分布式架构 -> 一个系统拆分为多个服务
随着垂直应用架构的子系统应用越来越多时,为了避免相同重复造轮子,我们将共用和核心的业务抽取出来,作为单独的系统对外提供服务, 使得各个子系统都可以复用,就演变成了如上图所示的分布式架构。


那么现在给大家介绍一下,本次分布式系统项目

大家好,我们是知了堂Java班的学长,今天给大家介绍一下我们的分布式系统项目——《百福云商城》

哦,你可能听过分布式,但是并不知道分布式是什么,学长给科普一下啦~~

分布式——一个高大上的名词,是计算机软件设计中人民群众喜闻乐见的“逼格满满”、“不明觉厉”的几个名词之一,所以也是提升逼格的关键要素,最~最~最...最重要的是:分布式系统架构是互联网企业升职加薪的重要考核技术。

好啦,分布式计算就是通过计算机网络将计算工作分布到多台主机上,多个主机一起协同完成工作

该隆重介绍一下我们的项目了~~这次我们做的是基于微信端的在线商城,技术选型包括:Dubbo+zookeeper+spring+springMVC+mybatis+nginx+mycat+redis+fastdfs

这上面的每一个词是不是都觉得好陌生啊!

不着急,先来看看系统架构图


分布式架构+微信小程序

我们大家都是第一次做分布式项目,也是第一次接触小程序,这对大家来说是一个很好的提升。比如今后的求职,可以大幅增分;在以后工作中,如果遇到类似的问题,虽说了解得不是很深,但是,至少遇到了不会特别慌张。这次的项目让我们明白了不管做什么事,都要明确自己的目标。此次项目实战仅是我们未来项目开发道路的起点,今后,我们会不断学习,积累技术知识,开发出属于自己的软件。关于这次的项目,就说这么多了,希望大家也努力学习。

项目实战一直是知了堂教学的重要组成部分,也是提升我们实战能力的重要方式,学弟学妹们不能怠惰哦~

【加点戏】学长最后再讲一句:Java使用面非常的广,现在几乎成了IT领域的基础语言,无论是传统的开发,还是架构的设计都离不开Java!Java才是世界上最美好的语言,同意不?


扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1753.html

标签: zookeeper nginx
分享给朋友:

“给大家介绍一个分布式架构+微信小程序的Java项目” 的相关文章

Nginx教程

NginxNginx1. 基本概念2. centos7部署nginx1. 部署前准备2. 安装nginx3. 配置文件1. nginx目录结构2. 默认的nginx.conf1. nginx.conf内容结构:2. nginx.conf内容格式说明:3. location 语法详解1. 语法规则:2...

Nginx配置七层负载均衡

Nginx 一般用于七层负载均衡,其吞吐量有一定限制。为了提升系统整体吞吐量,会在 DNS 与 Nginx 之间引入接入层,比如使用LVS(软负载均衡器)、F5(硬负载均衡器)做四层负载均衡。整体的请求流转如下图所示,即首先 DNS 解析到 LVS/F5,然后 LVS/F5 转发给 Nginx,再由...

Nginx常用配置及和基本功能讲解

作者:京东物流 殷世杰Nginx已经广泛应用于J-one和Jdos的环境部署上,本文对Nginx的常用的配置和基本功能进行讲解,适合Ngnix入门学习。1 核心配置找到Nginx安装目录下的conf目录下nginx.conf文件,Nginx的基本功能配置是由它提供的。1.1 配置文件结构Nginx的...

nginx配置集群 -websocket

nginx配置集群 -websocket前几天做一个nginx的反向代理,来代理websocket。因为上线时间的问题,所以是单节点运行。现在准备做集群优化,然后上容器环境。这样就需要配置nginx的负载均衡。不废话了,下面是配置文件。当然配置后需要验证,验证的时候会出现很多奇怪的问题。这里就不进行...

docker安装php

本节将介绍在线使用Docker安装PHP解析器的步骤。通过本节的实操,您可以掌握从Docker环境的使用,PHP镜像以及Nginx服务器的拉取、导入、容器的启动的全部过程,从而具备使用Docker安装并部署PHP与ngninx的能力。本节要求您具备的基本能力有Linux,Docker,以及nginx...

PHP-性能优化 php性能最优化安全最大化

1 尽量静态化如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法(非静态方法)在程序运行中生成内存,所以静态方法可...