分布式技术大纲 1. 分布式架构VS单体架构获益从三个方面来考虑:扩展性;集群规模扩展性;地理扩展性(数据中心);管理扩展性;性能;指标:短RT(Response Time),低延迟,高吞吐,较低的计算资源占用率;可用性;可用性=可用时间 / (可用时间+不可用时间)。考虑容错率,面向失败的设计。2. 分布式八大技术2.1 分布式服务趋势:单体—>多应用;本地调用—>远程...
WC的主从灾备 不晓得目前这种类型的厕纸盒应用范围有多广。我当时看到这个厕纸盒的时候,第一反应就是设计者很有程序员经常提到的主从灾备思想。基于一个假定:保洁工作人员在一卷纸被用完的这个时间段里面都没有发现另一卷纸已经run out了。不纠结那些两卷纸同时用的杠架说辞哈!程序设计中的很多思想都很精妙,如果能拿来架构一部牛逼的小说,想想都很美好!可惜的就是,写了太多程序以后,思维都流程化、理性化,感性部分被...
分布式核心要点摘要学习 现在的业务发展进度,单体应用基本要进博物馆了!分布式系统,从设计、到开发、到运维,都让人头大!微服务的理念也越来越普及,对于没有自我研发底层基础设施的中小型企业来说,当前Spring Cloud是个很好的选择。这里就不细究分布式、SOA、微服务这些概念了。先从提到分布式时经常碰到的一些概念说起,进行一个粗略的整理。个人习惯,XMind搞起!1. 分布式相关概念2. 分布式数据3....
Java-Unsafe概览 使用方式功能说明1. 内存管理2. 非常规对象实例化allocateInstance3. 操作类、对象、变量4.操作数组配合使用,可以获取数组中每个元素的内存地址5. 多线程同步6. 线程挂起和恢复7. 内存屏障...
Spring MVC数据绑定 请求方式:Url后带queryString方式基本基本类型&包装类型基本类型:key必须传,int必须是int类型;包装类型:可以不传key,即可以被解析为null;@RequestParam配置(value,required,defaultValue),可以用别名,可以不传,可以赋默认值;数组Controller方法的参数类型为数组。传递多个key,多个key的名字是一样...
MyBatis学习体系 MyBatisORM框架,通过XML配置或者注解完成对象关系映射。通过配置解析,参数处理,SQL解析,SQL执行,结果映射的核心层,对外提供了SQLSessionFactory,SQLSession接口。提供了事务处理,缓存处理等。github地址教程地址MyBatis-plusMyBatis的增强工具,在MyBatis基础上仅做增强不做改变,为简化开发,提升效率而生。特性:无侵...
React API 学习来源:React中文网址Reactreact是React库的入口。加载React的方式如下:通过<script>标签加载;ES6中:import React from ‘react’;ES5中:var React = require(‘react’);React.Component //React组件的基类,抽象基类;React.PureComponent //与...
React知识体系 https://react.docschina.org/docs/hello-world.htmlReact是一个用于构建用户界面的Javascript库。特点:声明式,组件化,移植性。关键字:组件Component,状态组件props,应用state,第三方库。JSXJSX是JavaScript的语法扩展。JSX用来声明React中的元素。JSX中可疑使用JavaScript表...
前端架构知识图谱 对前端一直是个半吊子,一直觉得主要兴趣在后台开发。但是目前全栈化趋势越来越烈了,前台后端的分工界线越来越模糊。日常工作中接到的任务有很大的占比都是前端的开发,这也是应用开发(非底层,非中间件)不得不面对的一个现状。既然如此,那就硬着头皮上吧!其实,所有的东西都经不得深研,一研究入得法门就会发觉其中奥妙,根本停不下来!1. react系知识图谱Facebook出品,var框架里目前应该是最广泛...
RestTemplate的错误处理 我们的项目属于微服务架构,两个基础的服务分别是网关和认证鉴权服务。 在前端访问后台服务的时候,都经过网关转发,转发之前会进行鉴权认证,根据鉴权结果判断是否可以进行相应的请求转发。问题描述认证鉴权服务中,判断Token对应的人员是否有相应的权限,如果没有权限,返回401状态码并在响应体中传回错误信息。 网关与鉴权服务之间的服务调用通过RestTemplate进行(可以考虑转为Feign做...
前端事务性任务多次请求的问题 项目上线的时候,遇到一个诡异的问题:预上线环境不能复现,生产环境必现。而预上线环境和生产环境最大的区别就在于:预上线是单点应用服务,生产环境则是集群部署。问题描述项目概况:后台采用Spring Cloud生态搭建的微服务体系,前端为Vue框架,做了前后端分离。 日常情况下,都是单节点部署,不过也使用Eureka实现了服务注册和发现的机制,可以通过serviceId访问相关服务。前端请求都...
Redis学习笔记 虽然在项目中已经使用了Redis,但是用得比较初级,估计也不太合规,完全无法发挥出Redis的巨大威力。因此系统地学习了一下Redis的基础知识,更深入的内容在以后的项目实战中逐步地学习和实践把。NoSQL概述NoSQL,not only sql,泛指非关系型数据库。随着现在互联网技术的发展,传统关系型数据库已经无法满足我们的需求,因此出现了非关系型数据库。而非关系型数据库的种类也纷繁多样...
ElasticSearch全文检索 全文检索最重要的两个方面: - 相关度:根据文档与查询的相关程度对结果集进行排序的能力。相关度可以使用TF/IDF、地理位置详尽程度、模糊相似度或者其它算法计算。 - 分析:将一段文本转换为一组唯一的、标准化了的标记token,用来创建倒排索引、查询倒排索引。 一旦提到相关度和分析,指的都是查询而非过滤!!!基于短语VS基于全文所有的查询都会进行相关度计算,但不是所有查询都...
ElasticSearch之结构化搜索 ElasticSearch结构化搜索是指查询包含内部结构的数据。 日期、时间、数字都是格式化的,它们有明确的格式给你执行逻辑操作。 通过结构化搜索,查询结果始终是“是与非”,是否应该属于集合。结构化搜索不关心文档的相关性或者分数,仅仅是简单的包含或者排除。查找准确值对于准确值,需要使用过滤器。 过滤器很快,不计算相关性而且容易被缓存。term过滤器term过滤器旨在处理数字、...
ElasticSearch的一些概念 ElasticSearch是个天然分布式的搜索引擎,有一些核心概念与传统的数据库知识区别很大,这里做一下记录和整理。分布式相关集群一个集群cluster由一个或者多个节点组成,具有相同的cluster.name,协同工作,分项数据和负载。当有新的节点加入或者删除了一个节点时,集群回感知到并能够平衡数据。 ElasticSearch中可以监控很多信息,有一个最重要的就是集群健康。集群健...
ElasticSearch初识之Restful 通过curl调用进行学习。需要安装的工具ElasticSearch,由于项目开始使用了Spring JPA,这里先用了2.4.0版本; curl,7.58.0版本,路径加入PATH环境变量;利用URL语法在命令行方式下工作的开源文件传输工具。 cygwin,Windows平台的类UNIX环境,执行curl命令的命令行窗口。curl调用的Restful API格式VERB PRO...
Spring的@Value注解在构造函数中应用的注意点 在改造一个之前的SpringMVC项目,重新使用SpringBoot的架构。 有一个自定义属性读取的转换过程,这里记录一下。SpringMVC下的属性读取项目使用MongoDB数据库,直接使用MongoDB-Driver中的MongoClient进行编程,创建MongoClient实例时,需要主机地址和端口号。 这个主机地址和端口号在开发环境、测试环境、生产环境是不同的,因此通过配置文...