Vue系列(一):MVVM概念理解和Vue介绍

  接手了个项目,需要对其进行重构,使用 Vue 框架重构前端,实现前后端分离。

  让一个多年只熟悉JSP、JS、JQuery的后端工程师来对前端进行改造,头皮有些发麻,对后端人员来说,Vue 和 JS、JQuery完全是两个知识体系,Vue 不只是款前端框架(工具),对后端人员来说还带来思维的转变,这不是一件容易的事。没办法只得硬顶着上,吃力不讨好的活也要干出漂亮。这篇文章记录学习过程和思路。
  
  Vue 官网, Vue CLI 3,

阅读更多

Spring Cloud(一):微服务与 Spring Cloud 概述

前言:公司的一个数据聚合项目,开始使用 Spring Cloud来搭建微服务框架,项目有好几十个数据源,每个数据源就是一个微服务。
在应用中有碰到各种问题,概念方面和技术方面都有,需要多层次多角度来理解,所以开辟
Spring Cloud
系列文章记录个人学习中得失。

Spring Cloud 是个新的知识领域,为应用而学习,将学习到的在实际项目中实践。Spring Cloud 可集成一系列组件, 为中小型互联网企业提供了一站式的微服务架构解决方案。

Spring Cloud 官网Spring Cloud GitHub,可以在GitHub上搜Spring Cloud相关资源。

阅读更多

Spring Cloud(一):微服务与 Spring Cloud 概述

前言:公司的一个数据聚合项目,开始使用 Spring Cloud来搭建微服务框架,项目有好几十个数据源,每个数据源就是一个微服务。
在应用中有碰到各种问题,概念方面和技术方面都有,需要多层次多角度来理解,所以开辟
Spring Cloud
系列文章记录个人学习中得失。

Spring Cloud 是个新的知识领域,为应用而学习,将学习到的在实际项目中实践。Spring Cloud 可集成一系列组件, 为中小型互联网企业提供了一站式的微服务架构解决方案。

Spring Cloud 官网Spring Cloud GitHub,可以在GitHub上搜Spring Cloud相关资源。

阅读更多

区块链(一):区块链概念和应用场景

**区块链:**是一种技术,利用加密认证技术和全网共识机制,维护一个完整的、分布式的、不可篡改的连续账本数据库,通过维护数据块的链式结构,可以维持持续增长的、不可篡改的数据记录。

三个基本概念:

  • 交易:一次对账本的操作,导致账本状态的一次改变,如添加一条转账记录。
  • 区块:记录一段时间内发生的所有交易和状态结果,是对当前账本状态的一次共识。
  • 链:由区块按照发生顺序串联而成,是整个账本状态变化的日志记录。
阅读更多

Spring Boot 2系列(三十一):Spring Batch 批处理框架详解和集成

  Spring Batch 是一款轻量级,全面,用来处理大量数据操作的批处理框架,旨帮助企业开发重要的批处理应用。从数据库、文件或队列中读取大量数据,按要求进行处理转换后输出指定形式的数据。

  Spring Batch 提供了可重复使用的功能,这些功能对于处理大量记录至关重要,包括记录/跟踪,事务管理,作业(job)统计,作业(job)重启,跳过和资源管理等。 它还提供更高级优化和分区技术用于实现极高容量和高性能的批处理作业。 作业的运行的实例状态、执行数据和参数可以配置持久化到数据库,可以随时监听作用的执行状态。

  Spring Batch 不是一个调度框架(如 Quartz),而是与调度应用结合使用,不是替代关系。Spring Batch 自动执行基本批处理的迭代,提供处理类似事务的功能,通常在脱机环境中处理,无需任何用户交互。

  Spring Batch 官网,Spring Batch v4.0.1 Releas 参考文档

阅读更多

Spring Boot 2系列(三十):Spring Security 安全框架详解和集成

Spring Security 为基于 Spring 的应用程序提供安全保护,是一个功能强大且可高度自定义的自份验证和访问控制框架。

应用程序安全性的两个主要方面是身份验证(认证:Authentication)和授权(访问控制:Authorization), 这也是 Spring Security 目标的两个主要领域。

**身份验证:**认证,即确认用户可以访问系统,可理解为用户账号密码正确且有效。
授权:访问控制,即用户在当前系统下所拥有的功能权限。

Spring Boot 关于 Spring Security 官方说明Security, Spring Security 官方文档 -> learn, Spring Boot 集成 Spring Security 官方说明, Spring Security -> Samples and Guides (Start Here)

阅读更多

Spring Boot 2系列(二十八):Spring Session 集成配合Redis实现Session集群共享

  Web应用的 Session 默认是由服务器容器(如:Tomcat)管理,当部署服务器集群时,会出现在服务器A登录后,再次访问被负载均衡转发到服务器B时会被要求重新登录,这对访问同一个域名站点用户来说是非常不友好的体验,登录服务器的 Session 无法被集群中的其它服务器共用, 这就是集群环境下的 Session 共享问题。

解决集群环境下的 Session 问题的思路基本有三种:
  1. 服务器 Session 复制:让集群中每台服务器都有其它服务器的Session, 这是服务器Session复制机制。
  2. 持久化 Session:自定义 Session管理实现,接管容器对Session的管理,把 Session 持久化提供公共使用,每次请求根据 SessionId到 Session 缓存服务器取 Session 进行判断。
  3. **在负载均衡服务器配置粘性 Session:**即把同一个 Session 的多个访问始终绑定到同一台服务器,不推荐使用, 当该服务器宕机机就会出现 Session 丢失,没有利点集群的优势。

  目前行业广泛使用且推荐使用的是持久化Session,对Session 执行统一的存储和访问,实现 Session 在集群服务中的共享。

阅读更多

Spring Boot 2系列(二十七):Listener, Filter, Interceptor

  Listener 监听器,Filter 过滤器,Interceptor 拦截器是 Java Web领域非常重要的三大神器(组件),会经常使用到。

  关注这三个的知识点本篇不做描述,主要记录在Spring Boot框架中这三大组件的使用。

  前面文章也有提到:Spring事件监听,SpringMVC之HandlerInterceptor拦截器, Spring Boot实践系列(二十二):Web相关配置详解

  官方文档:Spring Boot -> Application Events and Listeners,Spring Boot -> Servlets, Filters, Listeners, Spring Boot -> Add a Servlet, Filter, or Listener to an Application

阅读更多

大型网站架构要素

在给系统做架构设计时,除了要考虑功能需求以外,还需要关注性能、可用性、伸缩性、扩展性和安全性这5个要素,可通过这些要素来衡量一个软件架构设计的优劣,判断其是否满足需求。

阅读更多