1、事务的概念

1.1 本地事务

  • 在计算机系统中,更多的是通过关系型数据库来控制事务,这是利用数据库本身的事务特性来实现的,因此叫数据库事务,由于应用主要靠关系数据库来控制事务,而数据库通常和应用在同一个服务器,所以基于关系型数据库的事务又被称为本地事务。
  • 数据库事务的四大特性ACID:
    • A(Atomic):原子性,构成事务的所有操作,要么都执行完成,要么全部不执行,不可能出现部分成功部分失败的情况。
      Read more »

1、概述

ES介绍

  • The Elastic Stack,包括ElasticsearchKibanaBeatsLogstash(也称为ELK Stack)。 能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。Elaticsearch,简称为ES,**ES是一个开源的高扩展的分布式全文搜索引擎**,是整个Elastic Stack技术栈的核心。它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。

    Read more »

一、SpringMVC简介

1、什么是MVC

MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分

M:Model,模型层,指工程中的JavaBean,作用是处理数据

JavaBean分为两类:

  • 一类称为实体类Bean:专门存储业务数据的,如 Student、User 等
  • 一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理业务逻辑和数据访问。

V:View,视图层,指工程中的html或jsp等页面,作用是与用户进行交互,展示数据

C:Controller,控制层,指工程中的servlet,作用是接收请求和响应浏览器

MVC的工作流程:
用户通过视图层发送请求到服务器,在服务器中请求被Controller接收,Controller调用相应的Model层处理请求,处理完毕将结果返回到Controller,Controller再根据请求处理的结果找到相应的View视图,渲染数据后最终响应给浏览器

Read more »

1、模块与组件、模块化与组件化

  • 模块:向外提供特定功能的js程序,一般就是一个js文件。作用是复用js,简化js的编写,提高js运行效率。

  • 模块化:当应用中的js都以模块来编写的,那这个应用就是一个模块化的应用。

  • 组件:用来实现局部(特定)功能效果的代码集合(html/css/js/image等)。作用是复用编码,简化项目编码,提高运行效率。

    Read more »

1、Vue简介

  • Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。

  • Vue的特点:

    • ①采用组件化模式,提高代码复用率,且让代码更好维护。
Read more »

1、排序算法说明

排序的定义

  • 对一序列对象根据某个关键字进行排序。

相关术语说明

  • 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面。
  • 不稳定:如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面。
  • 内排序:所有排序操作都在内存中完成。
  • 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行。
  • 时间复杂度: 一个算法执行所耗费的时间。
  • 空间复杂度:运行完一个程序所需内存的大小。
    Read more »

1、简介

  • Kafka是一个分布式的基于发布/订阅模式消息队列Message Queue),主要应用于大数据实时处理领域。

  • 发布/订阅:消息的发布者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息

  • Kafka最新定义:Kafka是一个开源的分布式事件流平台(Event Streaming Platform),被数千家公司用于高性能数据管道流分析数据集成关键任务应用

  • 目前企业中比较常见的消息队列产品主要有Kafka、ActiveMQ、RabbitMQ、RocketMQ等。在大数据场景主要采用Kafka作为消息队列。在 JavaEE开发中主要采用ActiveMQ、RabbitMQ、RocketMQ。

    Read more »

1、Prometheus

1.1 简介

  • Prometheus是由SoundCloud开发的开源监控报警系统和时序列数据库。Prometheus使用Go语言开发,是Google BorgMon监控系统的开源版本。2016年由Google发起Linux基金会旗下的原生云基金会, 将Prometheus纳入其下第二大开源项目。Prometheus目前在开源社区相当活跃。
  • PrometheusHeapster(HeapsterK8S的一个子项目,用于获取集群的性能数据)相比功能更完善、更全面。Prometheus性能也足够支撑上万台规模的集群。
    Read more »

1、Helm简介

  • 在没使用Helm之前,向K8S部署应用,我们要依次部署deploymentsvc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,Helm通过打包的方式,支持发布的版本管理和控制,很大程度上简化了K8S应用的部署和管理。

  • Helm本质就是让K8S的应用管理(DeploymentService等 ) 可配置,能动态生成。通过动态生成K8S资源清单文件(deployment.yamlservice.yaml)。然后调用Kubectl自动执行K8S资源部署。

    Read more »

1、机制说明

  • Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server是集群内部各个组件通信的中介,也是外部控制的入口。所以Kubernetes的安全机制基本就是围绕保护API Server来设计的。Kubernetes使用了认证(Authentication)鉴权(Authorization)准入控制(AdmissionControl)三步来保证API Server的安全。
    Read more »