
软件架构
文章平均质量分 95
luckykapok918
这个作者很懒,什么都没留下…
展开
-
一个架构师谈什么是架构以及怎么成为一个架构师
新年新事,来点轻松的话题。我们调剂一下后再继续讲CAS SSO单点登录吧因为后面的内容全部和代码有关,大家会觉得枯燥。所以今天我们先来点”番外篇“,讲讲什么是架构师,什么是架构这个永恒的话题吧。此篇源出自我在公司内部写的一个PPT,它是用于在公司内部向广大技术人员做普及用的一个资料,而优快云这边的编辑不支持图文混排的效果,因此一些章节我就直接截取自我的PPT里的内容了,这样可能对大家在阅读上会显转载 2015-06-25 21:45:09 · 598 阅读 · 0 评论 -
SpringBoot实践之---Servlet
原文地址:ServletWeb开发使用 Controller 基本上可以完成大部分需求,但是我们还可能会用到 Servlet、Filter、Listener、Interceptor 等等。当使用Spring-Boot时,嵌入式Servlet容器通过扫描注解的方式注册Servlet、Filter和Servlet规范的所有监听器(如HttpSessionListener监听器)。转载 2018-01-19 18:12:19 · 169 阅读 · 0 评论 -
SpringBoot实践之(四十)---常用的热部署方式汇总
原文地址:Spring Boot干货系列:(十)开发常用的热部署方式汇总前言平时开发Sprig Boot的时候,经常改动个小小的地方就要重新启动项目,这无疑是一种很差的体验。在此,博主收集了3种热部署的方案供大家选择。正文目前博主用过的有三种:Spring Loadedspring-boot-devtoolsJRebel插件博主开发环境系统:win1...转载 2018-02-09 14:53:56 · 432 阅读 · 0 评论 -
SpringBoot实践之---配置文件解析
原文地址:Spring Boot干货系列:(二)配置文件解析前言上一篇介绍了Spring Boot的入门,知道了Spring Boot使用“习惯优于配置”(项目中存在大量的配置,此外还内置了一个习惯性的配置,让你无需手动进行配置)的理念让你的项目快速运行起来。所以,我们要想把Spring Boot玩的溜,就要懂得如何开启各个功能模块的默认配置,这就需要了解Spring Boot的配置文...转载 2018-02-09 15:15:58 · 1300 阅读 · 1 评论 -
SpringBoot实践之---JPA连接数据库+idea全新创建该工程
录结构如下:1.新建一个新的gradle项目 2.build.gradle配置文件 [java] view plain copy group ‘com.great’ version ‘1.0-SNAPSHOT’ buildscript { ext { springBootVersion = ‘1.5.8.RELEASE’转载 2018-02-05 11:32:47 · 805 阅读 · 0 评论 -
SpringBoot实践之---默认日志logback配置解析
原文地址:Spring Boot干货系列:(七)默认日志logback配置解析前言今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢如何引入日志?日志输出格式以及输出方式如何配置?代码中如何使用?正文Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日...转载 2018-02-09 15:55:06 · 846 阅读 · 0 评论 -
SpringBoot实践之---JDBC连接数据库
JDBC 连接数据库1、属性配置文件(application.properties)spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-na转载 2018-02-05 16:48:34 · 2606 阅读 · 0 评论 -
SpringBoot实践之---Hibernate·连接数据库
Hibernate 连接数据库1、属性配置文件(application.properties)spring.datasource.url=jdbc:mysql://localhost:3306/testspring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-c原创 2018-02-05 18:01:22 · 1429 阅读 · 0 评论 -
SpringBoot实践之---单元测试
原文地址:Spring Boot干货系列:(十二)Spring Boot使用单元测试前言这次来介绍下Spring Boot中对单元测试的整合使用,本篇会通过以下4点来介绍,基本满足日常需求Service层单元测试Controller层单元测试新断言assertThat使用单元测试的回滚正文Spring Boot中引入单元测试很简单,依赖如下:本篇实例Spring Boot版本为1.5.9.RELE...转载 2018-02-09 17:27:32 · 764 阅读 · 0 评论 -
SpringBoot实践之---Mybatis连接数据库(注解、XML、分页)
Spring Boot 集成mybatis gradle mybatis 注解方式 mybatis xml方式 分页查询 pagehelpermybatis 注解方式第一步:引入依赖包: build.gradlebuildscript { ext { springBootVersion = '1.5.8.RELEASE' } rep原创 2018-02-06 17:00:48 · 640 阅读 · 0 评论 -
SpringBoot实践之---集成Redis
1.引入依赖build.gradle中加入 //redis compile('org.springframework.data:spring-data-redis:1.8.0.RELEASE') compile('redis.clients:jedis:2.9.0')2.配置Redis参数application.properties中加入#redisspring.redis.host=172...原创 2018-02-12 11:15:12 · 518 阅读 · 0 评论 -
SpringBoot实践之---文件上传
springboot(十七):使用Spring Boot上传文件1、pom包配置我们使用Spring Boot最新版本1.5.9、jdk使用1.8、tomcat8.0。<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter...转载 2018-02-12 16:20:08 · 279 阅读 · 0 评论 -
SpringBoot实践之---Mybatis连接数据库(mybatis-generator-plugin)
mybatis-generator-plugin 插件地址: https://github.com/kimichen13/mybatis-generator-plugin方案来源: gradle 官网提供的解决方案: https://plugins.gradle.org/plugin/com.arenagod.gradle.MybatisGenerator 准备工作:数据库原创 2018-02-07 11:43:27 · 456 阅读 · 0 评论 -
SpringBoot实践之---定时任务scheduled的使用
第一步,在启动类中添加支持定时任务@SpringBootApplication@MapperScan("com.great.mapper")@EnableScheduling //Springboot支持定时任务public class MainApplication { public static void main(String[] args) { Spr原创 2018-02-07 14:07:41 · 1823 阅读 · 0 评论 -
SpringBoot实践之(一)--- 过滤器、监听器的使用
过滤器(Filter)文件MyFilter.javapackage org.springboot.sample.filter;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;im...转载 2018-02-07 18:00:32 · 185 阅读 · 0 评论 -
SpringBoot实践之(三十)---Web应用之Thymeleaf模板
原文地址:Spring Boot干货系列:(四)开发Web应用之Thymeleaf篇前言Web开发是我们平时开发中至关重要的,这里就来介绍一下Spring Boot对Web开发的支持。正文Spring Boot提供了spring-boot-starter-web为Web开发予以支持,spring-boot-starter-web为我们提供了嵌入的Tomcat以及Spring...转载 2018-02-08 15:50:36 · 680 阅读 · 0 评论 -
SpringBoot实践之(三十一)---Web应用之JSP+打war包在tomcat中运行
首先引入依赖:在build.gradle中 //支持thymeleaf模板 //compile("org.springframework.boot:spring-boot-starter-thymeleaf") //支持jsp compile('javax.servlet:jstl') //<!--jsp页面使用jstl标签--> co...原创 2018-02-08 18:43:15 · 1175 阅读 · 0 评论 -
史上最全的maven pom.xml文件教程详解
原文地址:史上最全的maven pom.xml文件教程详解原创整理不易,转载请注明出处:史上最全的maven pom.xml文件教程详解代码下载地址:http://www.zuidaima.com/share/1781583829978112.htm[xml] view plain copy<project xmlns="http://maven.apache.org/POM/4.0.0" ...转载 2018-04-02 17:14:50 · 196 阅读 · 0 评论 -
SpringBoot实践之---Controller
示例:HelloControllerpackage com.example;import org.springframework.beans.factory.annotation.Value;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.b原创 2018-01-19 18:01:36 · 283 阅读 · 0 评论 -
SpringBoot实践之---异步调用Async,不单独自己写线程方法
原文地址:SpringBoot集成篇(二) 异步调用Async什么是异步调用?异步调用是相对于同步调用而言的,同步调用是指程序按预定顺序一步步执行,每一步必须等到上一步执行完后才能执行,异步调用则无需等待上一步程序执行完即可执行。如何实现异步调用?多线程,这是很多人第一眼想到的关键词,没错,多线程就是一种实现异步调用的方式。在非spring目项目中我们要实现异步调用的就是使用多线程方式,可以自己实转载 2018-01-19 13:52:56 · 1424 阅读 · 0 评论 -
SonarQube(Sonar)服务器在windows下的安装和部署
这两天在服务器上面按照Sonar,因为版本匹配问题,多花了一点点时间,今天终于把项目的分析结果上传到sonar本地服务器上,特此对过程中出现过的问题做一个记录。 1.首先说明SonarQube(Sonar)是什么东西,有什么用:Sonar 是一个开源平台,开源地址为:http://www.oschina.net/p/sonar/?fromerr=Unur081u ,用于管理源代原创 2017-03-29 17:59:26 · 4296 阅读 · 0 评论 -
分布式锁的几种实现方式
原文地址:http://www.hollischuang.com/archives/1716目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance),最多只能同时满足两转载 2017-05-11 15:42:47 · 236 阅读 · 0 评论 -
分布式架构学习之:MySQL源码编译安装(CentOS-6.7+MySQL-5.6)
操作系统:CentOS-6.6-x86_64-bin-DVD1.iso MySQL 版本:MySQL-5.6.22.tar.gz 主节点 IP:192.168.1.205 主机名:edu-mysql-01 从节点 IP:192.168.1.206 主机名:edu-mysql-02MySQL 主从复制官方文档 http://dev.mysql.com/doc/转载 2017-05-23 15:26:40 · 441 阅读 · 0 评论 -
分布式架构学习之:MyCat在MySQL主从复制基础上实现读写分离
一、环境 操作系统:CentOS-6.6-x86_64-bin-DVD1.iso JDK 版本:jdk1.7.0_45 MyCat 版本:Mycat-server-1.4-release-20151019230038-Linux.tar.gz MyCat 节点 IP:192.168.1.203 主机名:edu-mycat-01 MySQL转载 2017-05-23 15:51:59 · 519 阅读 · 0 评论 -
Jenkins+maven+SVN+Tomcat持续集成发布环境安装和配置
Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作。能够实现项目的自动构建、打包、测试、发布、构建结果通知、代码质量分析等等。jenkins官网地址为:https://wiki.jenkins-ci.org/display/JENKINS/Home Jenkins安装文件下载 目都是前最新的版本是2.46.1版本地址http://mir原创 2017-04-13 11:17:39 · 2681 阅读 · 0 评论 -
分布式架构学习之:消息中间件在分布式系统中的作用
ActiveMQ RabbitMQ RocketMq JoramHornetQOpenMQMuleMQSonicMQZeroMQ关注度 高高中中中中低低中成转载 2017-05-19 14:19:44 · 869 阅读 · 0 评论 -
ActiveMQ windows安装和linux安装和代码示例
JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发,ActiveMQ而是这个规范的一个具体实现。JMS的队列消息传递过程如下图:JMS的主题消息传递过程如下图:ActiveMQ下载与部署。转载 2015-03-03 16:16:42 · 922 阅读 · 0 评论 -
分布式架构学习之:FastDFS分布式文件系统的Linux安装与使用(单节点)
FastDFS是一个轻量级的开源分布式文件系统FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡FastDFS实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储支持存储服务器在线扩容支持相同内容的文件只保存一份,节约磁盘空间FastDFS只能通过Client API访问,不支持POSIX访问方式FastDFS特别适合大中型网站使用,转载 2017-05-19 16:11:42 · 607 阅读 · 0 评论 -
分布式架构学习之:ActiveMQ高可用集群(zookeeper+leveldb)安装、配置、高可用测试
从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的Master-Slave 方式,增加了基于ZooKeeper + LevelDB的 Master-Slave实现方式,其他两种方式目录共享和数据库共享依然存在。 三种集群方式的对比: (1)基于共享文件系统(KahaDB,默认): (2)基于 JDBC: MyS转载 2017-05-21 11:09:26 · 1106 阅读 · 0 评论 -
分布式架构学习之:Redis3集群的Linux安装、配置、高可用测试
参考文档 Redis 官方集群指南:http://redis.io/topics/cluster-tutorial Redis 官方集群规范:http://redis.io/topics/cluster-spec Redis 集群指南(中文翻译,紧供参考):http://redisdoc.com/topic/cluster-tutorial.html Redis 集转载 2017-05-22 10:11:39 · 765 阅读 · 0 评论 -
分布式架构学习之:Keepalived+Nginx实现高可用Web负载均衡
一、场景需求二、Keepalived 简要介绍Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务的高可用。Keepalived 以 VRRP 协议为实现基础,用 VRRP 协议来实现高可用性(HA)。VRRP(VirtualRouterRedunda转载 2017-05-22 10:40:50 · 649 阅读 · 0 评论 -
分布式架构学习之:FastDFS 集群的安装、配置、使用
FastDFS 介绍(参考:http://www.oschina.net/p/fastdfs) FastDFS 是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。 FastDFS 服务端有两个角色:跟踪器(tracker)和存储节点(s转载 2017-05-22 15:49:48 · 620 阅读 · 0 评论 -
分布式架构学习之:使用Redis3.0集群实现Tomcat集群的Session共享
Redis.properties# redis hosts ex: 127.0.0.1:6379, 127.0.0.2:6379, 127.0.0.2:6380, ....redis.hosts=192.168.1.111:7111,192.168.1.112:7112,192.168.1.113:7113,192.168.1.114:7114,192.168.1.115:7115转载 2017-05-22 16:00:14 · 584 阅读 · 0 评论 -
SpringBoot实践之---前端跨域问题的解决方案
当我们需要将spring boot以restful接口的方式对外提供服务的时候,如果此时架构是前后端分离的,那么就会涉及到跨域的问题,那怎么来解决跨域的问题了,下面就来探讨下这个问题。解决方案一:在Controller上添加@CrossOrigin注解使用方式如下:[java] view plain copy@CrossOrigin // 注解方式 @RestController public原创 2018-01-18 17:09:59 · 438 阅读 · 0 评论 -
SpringBoot实践之---系统启动加载实现的几种方法init、servelt、CommandLineRunner
实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求。 方法一:CommandLineRunner 为了解决这样的问题,Spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实现。很简单,只需要一个类就可以,无需其他配置。 创建实现接口 CommandLineRunner 的类package org.springboot.sam原创 2018-01-18 17:30:36 · 12263 阅读 · 1 评论 -
SpringBoot实践之---静态资源处理
原文地址:静态资源处理Spring Boot 默认为我们提供了静态资源处理,使用 WebMvcAutoConfiguration 中的配置各种属性。建议大家使用Spring Boot的默认配置方式,如果需要特殊处理的再通过配置进行修改。如果想要自己完全控制WebMVC,就需要在@Configuration注解的配置类上增加@EnableWebMvc(@SpringBootApplication 注转载 2018-01-18 17:58:10 · 236 阅读 · 0 评论 -
SpringBoot实践之---使用异步请求,提高系统的吞吐量
原文地址: spring boot--使用异步请求,提高系统的吞吐量前言:在我们的实际生产中,常常会遇到下面的这种情况,某个请求非常耗时(大约5s返回),当大量的访问该请求的时候,再请求其他服务时,会造成没有连接使用的情况,造成这种现象的主要原因是,我们的容器(tomcat)中线程的数量是一定的,例如500个,当这500个线程都用来请求服务的时候,再有请求进来,就没有多余的连接可用了,只能拒绝连接转载 2018-01-19 13:29:57 · 2310 阅读 · 0 评论 -
常见分布式全局唯一ID生成策略及算法的对比
转载自:https://gavinlee1.github.io/2017/06/28/%E5%B8%B8%E8%A7%81%E5%88%86%E5%B8%83%E5%BC%8F%E5%85%A8%E5%B1%80%E5%94%AF%E4%B8%80ID%E7%94%9F%E6%88%90%E7%AD%96%E7%95%A5%E5%8F%8A%E7%AE%97%E6%B3%95%E7%9A%84%E...转载 2019-10-11 15:17:32 · 417 阅读 · 0 评论