01 2019 档案
摘要:一.什么是微服务 1) Martin Fowler论文对微服务的阐述(中文版) 2) 对单一应用进行拆分 3) 每一个独立的应用都有一个独立的进程 4) 拥有自己独立的数据库 5) 微服务化的核心就是讲传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,
阅读全文
摘要:一. 前置知识 学习SpringCloud之前需要具备和掌握如下框架和工具的使用:SpringMVC,Spring,Spring Boot,Mybatis,Maven,Git。 SpringCloud不是某一门技术,而是一堆微服务架构技术的集合体,大概有21种之多,我只学习了其中几个比较重要和关键的
阅读全文
摘要:一.热部署 在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,我们不希望重启应用的情况下,程序可以自动部署(热部署)。 1.1 模板引擎 在SpringBoot中开发情况下禁用模板引擎的cache,页面模板改变ctrl+F9可以重新编译当前页面并生效。 1.2 Spri
阅读全文
摘要:SpringCloud是一个分布式的整体解决方案。Spring Cloud为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全局锁,leader选举.分布式session,集群状态)中快速构建的工具,使用SpringCloud的开发者可以快速的启动服务或
阅读全文
摘要:在分布式系统中, 国内常用zookeeper+dubbo组合,而Spring Boot推荐使用全栈的Spring,Spring Boot,Spring Cloud。 分布式系统: 一.Zookeeper和Dubbo概览 1.1 ZooKeeper ZooKeeper是一个分布式的,开放源码的分布式应
阅读全文
摘要:问题描述 今天在使用SpringBoot整合spring security,使用内存用户验证,但无响应报错:java.lang.IllegalArgumentException: There is no PasswordEncoder mapped for the id "null" 错误原因 这是
阅读全文
摘要:粗略地分一下,程序员的日常工作基本上会被划分到这三层: 系统层, 中间件层,应用层。 我们从下到上,逐层走一下,看看每一层都在做什么。 一.系统层 系统层指的是操作系统,数据库,编译器,TCP/IP协议栈,虚拟机等。另外,我把编程语言也归入到这一层。 能在这一层工作的程序员基本上都是大神。比如写Li
阅读全文
摘要:知识储备: 关于SpringSecurity的详细学习可以查看SpringSecurity的官方文档。 Spring Security概览 应用程序的两个主要区域是"认证"和"授权"(访问控制)。这两个主要区域是Spring Security的两个目标。 "认证"(Authentication),是
阅读全文
摘要:Java的任务在项目中需要用到的地方很多,比如,每月月末的财务报表给财务部门,定时给领导发个邮件短信等等。这时候我们就需要用到任务了,任务调度本身涉及到多线程并发、运行时间规则制定和解析、场景保持与恢复、线程池维护等诸多方面的工作。之前的学习中也使用过任务的框架Quartz,用起来也十分地编辑。本篇
阅读全文
摘要:知识储备: 关于ElasticSearch的基本使用我已经在上一篇文章介绍过了(传送门),本篇文章主要讲述的是SpringBoot与ElasticSearch的整合使用。 SpringBoot与ElasticSearch的整合 一.Jest的使用 1.1 Jest默认不生效,需要导入Jest的工具包
阅读全文
摘要:知识储备 学习ElasticSearch之前可以先了解一下lucene,这里是我整理的一篇关于lucene的笔记(传送门),对搜索框架有兴趣的还可以了解一下另一款企业级搜索应用服务器 solr(传送门) 一.ElasticSearch概述 1.简介 ElasticSearch是一个基于Lucene的
阅读全文
摘要:知识储备: 关于消息队列的基本概念我已经在上一篇文章介绍过了(传送门),本篇文章主要讲述的是SpringBoot与RabbitMQ的整合以及简单的使用。 一.安装RabbitMQ 1.在linux上使用docker下载RabbitMQ 2.使用docker启动RabbitMQ 5672端口:客户端与
阅读全文
摘要:一.消息队列概述 什么是消息队列? 消息队列中间件是分布式系统中重要的组件,是在消息的传输过程中保存消息的容器。 为什么会需要消息队列? 在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达MySQL,直接导致无数的行锁表锁,甚至最后请求
阅读全文
摘要:一.Redis环境搭建 系统默认是使用ConcurrentMapCacheManager,然后获取和创建ConcurrentMapCache类型的缓存组件,再将数据保存在ConcurrentMap中 开发中使用缓存中间件:redis,memcached,ehcache 1.搭建redis环境 在li
阅读全文
摘要:今天使用docker安装redis,使用的时候出现了一些问题。第一次安装好后,在虚拟机后台启动了redis,然后在连接虚拟机的redis的时候怎么也连不上。出现这种情况我第一反应是防火墙没有开启所以我执行查看了一下防火墙的状态。 然后发现没有开启防火墙,于是我又开启了防火墙。 然而连接还是有问题,一
阅读全文
摘要:报错信息如下: 解决方式:在连接数据库的url后加上serverTimezone=UTC,完整的url为:
阅读全文
摘要:缓存是每一个系统应该考虑的功能,它可以用来加速系统的访问,提升系统性能,例如要经常访问的高频热点数据,例如某一个商品网站的商品信息,商品信息存储在数据库中,若每次访问都要查询数据库的话,这样的操作耗时太大了,所以我们需要做一个缓存中间件,这样我们不需要查询数据库了,直接查询缓存,若缓存中有,可以直接
阅读全文

浙公网安备 33010602011771号