架构设计:分布式结构下,服务部署发布

分布式系统架构下,服务发布是一件很麻烦的事情,特别是在构建自动发布流程和灰度测试的策略两个核心方面。通常情况下如果不涉及数据层面的灰度流程,服务可以灰度上线,或者滚动上线,这两种方式很常用;如果涉及到数据灰度,则可能需要中间服务做不同版本数据之间追平,或者停机维护一次性处理好数据和上线问题,不过后面... ... »

编码风格:Mvc模式下SSM环境,代码分层管理

​MVC模式与代码分层策略,MVC全名是ModelViewController即模型-视图-控制器,作为一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑,这是一种开发模式,但并不是实际开发... ... »

Hadoop框架:HDFS高可用环境配置

在单点或者少数节点故障的情况下,集群还可以正常的提供服务,HDFS高可用机制可以通过配置Active/Standby两个NameNodes节点实现在集群中对NameNode的热备来消除单节点故障问题,如果单个节点出现故障,可通过该方式将NameNode快速切换到另外一个节点上。 ... »

编程体系结构(08):Spring.Mvc.Boot框架

Spring是一个开源框架,框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。Spring是一个分层的轻量级开源框架。 ... »

Hadoop框架:NameNode工作机制详解

NameNode运行时元数据需要存放在内存中,同时在磁盘中备份元数据的fsImage,当元数据有更新或者添加元数据时,修改内存中的元数据会把操作记录追加到edits日志文件中,这里不包括查询操作。如果NameNode节点发生故障,可以通过FsImage和Edits的合并,重新把元数据加载到内存中,此... ... »

编程体系结构(07):JavaEE之Web开发

本文源码:GitHub·点这里 || GitEE·点这里 一、基础概念 1、CS与BS架构 CS架构模式 客户端/服务器(Client/Server)模式,既要编写服务器端程序,也要开发客户端程序,软件更新时需要同时更新客户端和服务器端,整体模式相比BS架构要复杂,但是安全性比较高。 B/S架构模式 ... »

编程体系结构(06):Java面向对象

本文源码:GitHub·点这里 || GitEE·点这里 一、基础概念 1、面向对象概念 面向对象编程的主要思想是把构成问题的各个事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙一个事物在整个解决问题的步骤中的行为。 2、类和对象 对象:真实存在唯一的事物;在应用程序中对象是数据 ... »

Hadoop框架:HDFS读写机制与API详解

本文源码:GitHub·点这里 || GitEE·点这里 一、读写机制 1、数据写入 客户端访问NameNode请求上传文件; NameNode检查目标文件和目录是否已经存在; NameNode响应客户端是否可以上传; 客户端请求NameNode文件块Block01上传服务位置; NameNode响 ... »

Hadoop框架:HDFS简介与Shell管理命令

本文源码:GitHub·点这里 || GitEE·点这里 一、HDFS基本概述 1、HDFS描述 大数据领域一直面对的两大核心模块:数据存储,数据计算,HDFS作为最重要的大数据存储技术,具有高度的容错能力,稳定而且可靠。HDFS(Hadoop-Distributed-File-System),它是 ... »

编程体系结构(04):JavaIO流文件管理

本文源码:GitHub·点这里 || GitEE·点这里 一、IO流分类 1、分类角度 流的方向 输入流:从数据源中读取数据到应用中的流; 输出流:从应用中将数据写入到目的地的流; 流数据类型 字节流:以字节形式来读写的流,标识是名称以Stream结尾; 字符流:以字符形式来读写的流,标识是名称以W ... »

虚拟机系列 | 执行引擎和垃圾回收

本文源码:GitHub·点这里 || GitEE·点这里 一、执行引擎 应用程序经过编译,转换为字节码文件,字节码加载到内存空间并不能直接在操作系统上执行,执行引擎作为Java虚拟机核心的组成部分,作用就是将字节码指令解释/编译为对应系统平台上的本地机器指令。 解释器:虚拟机启动时会根据预定义对字节 ... »

虚拟机系列 | JVM运行时数据区

本文源码:GitHub·点这里 || GitEE·点这里 一、内存与线程 1、内存结构 内存是计算机的重要部件之一,它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。JVM的内存结构规定Java程序在执行时内存的申请、划分、使用、回收的管理 ... »

SpringBoot2 整合MinIO中间件,实现文件便捷管理

本文源码:GitHub·点这里 || GitEE·点这里 一、MinIO简介 1、基础描述 MinIO是一个开源的对象存储服务。适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。 MinIO是一个非常轻量的服 ... »

Java基础篇(03):流程控制语句,和算法应用

本文源码:GitHub·点这里 || GitEE·点这里 一、分支语句 流程控制语句对任何一门编程语言都是非常重要的,Java中基于流程控制程序执行的不同步骤和代码块。 1、IF条件 IF条件语句会根据不同的判断条件执行不同的语句,if后括号内的条件是否成立关键步骤,IF条件的判断结果必然要是tru ... »

SpringBoot2 整合FreeMarker模板,完成页面静态化处理

本文源码:GitHub·点这里 || GitEE·点这里 一、页面静态化 1、动静态页面 静态页面 即静态网页,指已经装载好内容HTML页面,无需经过请求服务器数据和编译过程,直接加载到客户浏览器上显示出来。通俗的说就是生成独立的HTML页面,且不与服务器进行数据交互。 优缺点描述: 静态网页的内容 ... »