系统架构知识
专业搜集并学习系统架构相关的知识
南北雪树
有一种中午叫 16:00,我在等待着......
展开
-
如何把本地项目上传到GitHub中
1、首先在Github中创建一个私有仓库,比如是 git_test,如下图:2、通过 git clone https://yoururl.test.git 把你的项目克隆下来。3、把你的项目的文件全部拷贝到克隆下来的test文件夹中,然后执行 "git add ."命令,加入到 仓库中。4、直接提交“git commit -m "提交信息"”。5、提交到远程服务中,git pus...原创 2020-02-28 17:57:11 · 481 阅读 · 0 评论 -
Redis开发与运维总结(一)
一、持久化二、复制三、阻塞情况四、内存管理五、Redis Cluster 5.1、数据分布理论 5.2、Redis数据分区 5.3、通信流程 5.3.1、Gossip消息 5.3.2、节点选择 5.4、请求路由 5.4.1、计算槽 5.4.2、槽节...原创 2019-10-17 20:56:46 · 816 阅读 · 0 评论 -
Spring中jdbcTemplate的用法实例
一、首先配置JdbcTemplate;要使用Jdbctemplate 对象来完成jdbc 操作。通常情况下,有三种种方式得到JdbcTemplate 对象。 第一种方式:我们可以在自己定义的DAO 实现类中注入一个DataSource 引用来完 成JdbcTemplate 的实例化。也就是它是从外部“注入” DataSource 到DAO 中,然后 自己实例化JdbcTemp转载 2015-04-17 17:54:59 · 533 阅读 · 0 评论 -
Spring 主键序列值获取
先看个demo :<bean id="unitImportService" class="net.zdsoft.eis.base.data.service.impl.UnitImportServiceImpl" init-method="initUnitImport"> <bean class="org.springframework.jdbc.support.in原创 2015-12-22 10:16:29 · 3939 阅读 · 0 评论 -
pring MVC入门
2.1、Spring Web MVC是什么Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 另外还有一种基于组件的、事件驱动的W转载 2016-02-22 13:45:58 · 841 阅读 · 0 评论 -
JAVA动态代理 和 Spring AOP 4种通知的简单实现
学习Spring AOP 之前,先要了解下JAVA的动态代理。如果不清楚动态代理的概念就百度一下吧。废话不多说,直接上代码。我们模拟一个简单的登录首先我们创建一个用户登录的接口?12345package com.proxy.test; public interface Use转载 2016-04-14 18:46:32 · 876 阅读 · 0 评论 -
Spring AOP动态代理原理与实现方式
AOP:面向切面、面向方面、面向接口是一种横切技术 横切技术运用: 1.事务管理: (1)数据库事务:(2)编程事务(3)声明事物:Spring AOP-->声明事物 2.日志处理: 3.安全验证: Spring AOP---OOP升级 静态代理原理:目标对象:调用业务逻辑 代理对象:日志管理 表示层调用--->代理对象(日志管理)-->调用目转载 2016-04-14 19:45:03 · 1206 阅读 · 0 评论 -
spring AOP动态代理使用和配置方式(手打)
理论的东西,随便看下吧,AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。我们现在做的一些非业务,如:日志、原创 2016-04-15 14:43:05 · 5327 阅读 · 0 评论 -
SpringBoot微服务之分布式跟踪系统(springboot+zipkin)
微服务之分布式跟踪系统(springboot+zipkin)一、zipkin是什么 zipkin是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。它的理论模型来自于Google Dapper 论文。 每个服务向zipkin报告计时数据,zip转载 2017-05-10 19:40:32 · 3931 阅读 · 0 评论 -
SpringBoot微服务之分布式跟踪系统(springboot+zipkin+MySQL)
微服务之分布式跟踪系统(springboot+zipkin+MySQL) 通过上一节《微服务之分布式跟踪系统(springboot+zipkin)》我们简单熟悉了zipkin的使用,但是收集的数据都保存在内存中重启后数据丢失,不过zipkin的Storage除了内存,还有Cassandra、MYSQL、ElasticSearch。二、zipkin的各种Stora转载 2017-05-10 20:24:27 · 2848 阅读 · 2 评论 -
Spring缓存Cache,Cacheable,CachePut使用
从3.1开始,Spring引入了对Cache的支持。其使用方法和原理都类似于Spring对事务管理的支持。Spring Cache是作用在方法上的,其核心思想是这样的:当我们在调用一个缓存方法时会把该方法参数和返回结果作为一个键值对存放在缓存中,等到下次利用同样的参数来调用该方法时将不再执行该方法,而是直接从缓存中获取结果进行返回。所以在使用Spring Cache的时候我们要保证我们缓存的方法对转载 2017-05-11 11:29:20 · 2754 阅读 · 2 评论 -
SpringCloud服务注册中心比较:Consul vs Zookeeper vs Etcd vs Eureka
原文链接地址:http://luyiisme.github.io/2017/04/22/spring-cloud-service-discovery-products/这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论:FeatureConsulzookeeperetcdeuerka服务健康检查转载 2017-05-12 15:12:40 · 23039 阅读 · 2 评论 -
spring cloud-整合Swagger2构建RESTful服务的APIs
前言在前面的博客中,我们将服务注册到了Eureka上,可以从Eureka的UI界面中,看到有哪些服务已经注册到了Eureka Server上,但是,如果我们想查看当前服务提供了哪些RESTful接口方法的话,就无从获取了,传统的方法是梳理一篇服务的接口文档来供开发人员之间来进行交流,这种情况下,很多时候,会造成文档和代码的不一致性,比如说代码改了,但是接口文档没有改等问题,而Swagger转载 2017-05-18 17:17:53 · 6273 阅读 · 2 评论 -
Spring Cloud应用进行服务追踪分析(Zipkin和spring cloud Sleuth)
摘要: 本文简单介绍了如何利用Zipkin对SpringCloud应用进行服务分析。在实际的应用场景中,Zipkin可以结合压力测试工具一起使用,分析系统在大压力下的可用性和性能。设想这么一种情况,如果你的微服务数量逐渐增大,服务间的依赖关系越来越复杂,怎么分析它们之间的调用关系及相互的影响?服务追踪分析一个由微服务构成的应用系统通过服务来划分问题域,通过REST请求服转载 2017-05-22 11:12:58 · 10694 阅读 · 0 评论 -
spring boot通过jar包启动时,配置文件的加载顺序
一.配置文件的生效顺序,会对值进行覆盖1. @TestPropertySource 注解 2. 命令行参数 3. Java系统属性(System.getProperties()) 4. 操作系统环境变量 5. 只有在random.*里包含的属性会产生一个RandomValuePropertySource 6. 在打包的jar外的应用程序配置文件(application.pr原创 2017-08-01 18:53:17 · 15749 阅读 · 0 评论 -
Spring Cloud源码分析Ribbon
在之前介绍使用Ribbon进行服务消费的时候,我们用到了RestTemplate,但是熟悉Spring的同学们是否产生过这样的疑问:RestTemplate不是Spring自己就有的吗?跟Ribbon的客户端负载均衡又有什么关系呢?下面在本文,我们来看RestTemplate和Ribbon是如何联系起来并实现客户端负载均衡的。首先,回顾一下之前的消费者示例:我们是如何实现客户端负载均衡的?转载 2017-08-23 11:25:34 · 729 阅读 · 0 评论 -
spring boot的健康检查HealthIndicators
想提供自定义健康信息, 你可以注册实现了HealthIndicator接口的Spring beans。 你需要提供一个health()方法的实现, 并返回一个Health响应。Health响应需要包含一个status和可选的用于展示的详情。import org.springframework.boot.actuate.health.HealthIndicator;impo原创 2017-08-25 14:33:34 · 15651 阅读 · 0 评论 -
SpringBoot之开启数据库迁移的FlyWay使用
一,首先我先了解下FlyWay是如何运转的。最简单的方案是将Flyway指向一个空数据库。 它将尝试找到其元数据表。当数据库为空时,Flyway将不会找到它, 而是创建它。您现在拥有一个名为SCHEMA_VERSION的单个空表的数据库 : 该表将用于跟踪数据库的状态。之后,Flyway将开始扫描应用程序的文件系统或类路径进行迁移。它们可以用Sql或Java编写。 然后根据其版本号对迁原创 2017-09-02 15:22:07 · 9403 阅读 · 1 评论 -
Spring Cloud之Spring EL(1)
1、Spring EL 概述Spring EL是Spring Expression Language的简称,中文称作Spring表达式语言。Spring EL并不单单指代某一种特定的表达式格式,而是对Spring中字符串表达式的一个概要性称呼。Spring EL基本功能由Spring核心包提供支持(spring-core组件和spring-context组件),并且不同的组件还对Sprin转载 2017-11-07 18:29:17 · 300 阅读 · 0 评论 -
Spring Cloud之Spring EL(2)
3、Spring EL 与第三方信息3.1、Spring EL 与 集合Spring EL基本表达式可以对集合中的信息进行读取操作,包括Collection、Map性质的集合。请看如下实例:/** * 在这个bean被初始化时,进行集合数据的添加 * @author yinwenjie */@Component("myCollection")public class转载 2017-11-07 18:49:02 · 242 阅读 · 0 评论 -
Spring Cloud之Spring EL和AOP(3)
3.3、Spring EL 与 AOP(Aspectj)3.3.1、Spring 和 AOP的关系AOP是面向切面编程的简称,Spring的设计思路受到这个思想的指导。所以我们在使用Spring各种组建的时候都能看到这个设计思路的影子。再举一些实际的例子:我们使用Spring托管hibernate就是一个典型的AOP例子,事务的开启、提交、回滚操作无需业务开发人员进转载 2017-11-08 15:44:26 · 1124 阅读 · 0 评论 -
Spring Boot应用Docker打包成镜像
本教程将引导你通过建立一个Docker镜像来运行Spring Boot应用。你将构建什么Docker是一个具有社區性的Linux容器管理工具集,它允許用户发布镜像或者使用其他开发者发布的镜像。Docker镜像本質上是一个進程的运行環境。在這篇guide中,我們将构建一个運行Spring Boot应用程序的鏡像。构建之前你要准备的东西大约十五分钟的时间一个你最喜欢的文转载 2017-11-09 10:31:48 · 10084 阅读 · 0 评论 -
Spring Boot的事务管理注解@EnableTransactionManagement的使用
Spring Boot 使用事务非常简单,首先使用注解 @EnableTransactionManagement 开启事务支持后,然后在访问数据库的Service方法上添加注解 @Transactional 便可。关于事务管理器,不管是JPA还是JDBC等都实现自接口 PlatformTransactionManager 如果你添加的是 spring-boot-starter-jdbc 依转载 2018-01-30 17:06:01 · 130286 阅读 · 9 评论 -
Spring Boot 如何进行部署与服务配置的详解
Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动。其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat)。当然你也可以将项目打包成war包,放到独立的web容器中(Tomcat、weblogic等等),当然在此之前你要对程序入口做简单调整。项目构建我们使用Maven或Gradle,这将使项目依赖、jar包管理、以转载 2018-01-30 17:41:44 · 697 阅读 · 0 评论 -
Spring事务的传播性详解
事务的嵌套概念所谓事务的嵌套就是两个事务方法之间相互调用。spring事务开启 ,或者是基于接口的或者是基于类的代理被创建(注意一定要是代理,不能手动new 一个对象,并且此类(有无接口都行)一定要被代理——spring中的bean只要纳入了IOC管理都是被代理的)。所以在同一个类中一个方法调用另一个方法有事务的方法,事务是不会起作用的。###Spring默认情况下会对运行期例外(RunTimeE...转载 2018-04-17 19:34:47 · 1335 阅读 · 0 评论 -
Spring事务详细解释,满满的都是干货!
前言Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。但是人们对他的误解也颇多,你一定也听过“service方法事务最好不要嵌套”的传言。要想正确的使用工具首先需要了解工具。本文...转载 2018-09-18 17:43:35 · 47585 阅读 · 15 评论 -
spring的三种注入方式
spring的三种注入方式:接口注入(不推荐) getter,setter方式注入(比较常用) 构造器注入(死的应用) 关于getter和setter方式的注入: autowire="defualt" autowire=“byName” autowire="bytype" 例如: package org.jia; 2 3 public clas转载 2013-11-14 23:27:13 · 1098 阅读 · 0 评论 -
hibernate的三种查询方式
Hibernate的查询方式hibernate的查询方式常见的主要分为三种: HQL, QBC(命名查询), 以及使用原生SQL查询(SqlQuery)一、HQL查询• HQL(Hibernate Query Language)提供了丰富灵活的查询方式,使用HQL进行查询也是Hibernate官方推荐使用的查询方式。• HQL在语法结构上和SQL语句十分的相同,转载 2013-11-19 09:20:41 · 23374 阅读 · 5 评论 -
Hibernate中对增删改查的小结
Hibernate中对增删改查的小结mysql中库表News,字段如下id | int | auto_increment | primary keytitle | varcharcontent | varchardate | varchar1:Hibernate的insert操作 Session session转载 2013-12-15 11:20:28 · 670 阅读 · 0 评论 -
服务网关ZUUL过滤器和Spring Filter执行顺序详解
以下转发别人的文章,挺不错的,分析的很深入,拿过来给大家分享下。Zuul的核心是一系列的过滤器,这些过滤器可以完成以下功能:身份认证与安全:识别每个资源的验证要求,并拒绝那些与要求不符的请求。 审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生成视图。 动态路由:动态地将请求路由到不同的后端集群。 压力测试:逐渐增加执行集群的流量,以了解性能。 负载分配:为每一种负...转载 2019-08-29 21:11:00 · 10162 阅读 · 4 评论