- 博客(27)
- 资源 (18)
- 问答 (2)
- 收藏
- 关注
转载 微服务 | Spring Cloud 和 Kubernetes 哪个更好?
当我们需要部署微服务的时候,哪个更好?Spring Cloud还是Kubernetes?答案是都可以,只是各自有其优势。Spring Cloud 和 Kubernetes 都宣称自己是开发和运行微服务的最佳环境,但是它们的本质非常不一样,所追求的目标也不同。本文我们分析一下两个平台是如何在其擅长的、实现基于微服务的架构(MSA)上起到作用的,并判断如何利用两者的强项,来帮助我们在微
2018-01-31 10:18:37 7255 2
原创 SpringSecurity | 源码分析篇 (二) 授权过程
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为
2018-01-30 09:20:52 580 1
原创 SpringSecurity | 源码分析篇 (一) Spring Security认证过程
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为
2018-01-29 19:33:04 481
原创 SpringCloud | 学习系列 Eureka配置账号密码进行安全验证
如果配置好了eureka server,默认情况下我们就直接直接访问到eureka的界面了。如果不想让所有人都能访问到eureka的界面,可以加上权限认证,输入账号密码才能访问,这样一定程度上能提高我们系统的安全性。方式如下:在eureka的server端配置,pom.xml里加上[java] view plain copy print?
2018-01-29 09:36:24 5120
转载 Spring Cloud | 学习系列 Spring Cloud中基于Sleuth的参数透传功能探索
一.需求微服务环境,有A,B,C,D四个服务,调用关系为:A->B->C->D。用户在A的页面选择当前“语言”环境为“英文”,在某些业务场景下,其它几个服务需获取到这个“语言”信息。二.分析这个需求还是很简单的,类似于“击鼓传花”:当前服务从上一个服务中获取参数,并传给下一个服务。个人感觉基本上所有的RPC框架都会遇到这个问题,只是以前SOA架构下,服务层级比较少,将“语言
2018-01-26 16:37:00 1430
转载 Java8学习篇 | (1)行为参数化
用一个例子说明行为参数化带来的变化 - 从苹果仓库中筛选苹果版本1从一个苹果集合中选出绿的苹果public static List filterGreenApples(List inventory) { List result = new ArrayList(); for (Apple apple : inventory) {
2018-01-23 17:31:24 396
转载 Java | 学习系列 Java1.8 新特性详解( 包含学习代码 )
前言: Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级。在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java 8 – Lambdas and Concurrency、Java 8 Date Time API Tutorial : LocalDateTime和Abstract Class Versu
2018-01-23 17:06:27 8469 1
转载 Java编程 | 深入剖析ThreadLocal
想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用方法和实现原理。首先,本文先谈一下对ThreadLocal的理解,然后根据ThreadLocal类的源码分析了其实现原理和使用需要注意的地方,最后给出了两个应用场景。 以下是本文目录大纲: 一.对ThreadLocal的理解 二.深入解析ThreadLocal类
2018-01-22 20:06:16 250
转载 网站架构篇 | 网站安全架构
从互联网诞生起,安全威胁就一直伴随着网站的发展,各种Web攻击和信息泄露也从未停止。常见的攻击手段有XSS攻击、SQL注入、CSRF、Session劫持等。1、XSS攻击 XSS攻击即跨站点脚本攻击(Cross Site Script),指黑客通过篡改网页,注入恶意HTML脚本,在用户访问网页时,控制用户浏览器进行恶意操作的一种攻击方式。常见的XSS攻击类型有两种,一种是反射型,攻击者诱使用户点击
2018-01-19 17:31:30 687
转载 网站架构篇 | (七) 网站可伸缩性架构
扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提供模块的复用性。模块通过分布式部署,独立的模块部署在独立的服务器上(集群)从物理上分离模块之间的耦合关系。 模块分布式部署以后具体聚合方式主要有分布式消息队列和分布式服务。1、利用分布式消息队列降低系统耦合性 如
2018-01-18 19:19:41 603
转载 网站架构篇 | (六) 网站伸缩性架构
网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。1、网站架构的伸缩性设计网站的伸缩性设计可以分成两类,一类是根据功能进行物理分离实现伸缩,一类是单一功能通过集群实现伸缩。前者是不同的服务器部署不同的服务,提供不同的 功能;后者是集群内的多台服务器部署相同的服务,提供相关的功能。1.1
2018-01-18 18:26:56 326
转载 网站架构篇 | (五) 网站高可用架构
网站的可用性(Avaliability)描述网站可有效访问的特性。1、网站可用性的度量与考核 网站不可用时间(故障时间)=故障修复时间点-故障发现(报告)时间点 网站年度不可用时间=(1-网站不可用时间/年度时间)× 100% 可用性指标时网站架构设计的重要指标,对外是服务承诺,对内是考核指标,具体到每个工程师,更多的是使用故障
2018-01-17 17:11:10 504
转载 网站架构篇 | (四) 网站高性能架构
网站性能是客观的指标,可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。1、性能测试指标1.1 响应时间 指应用执行一个操作需要的时间,指从发出请求到最后收到响应数据所需要的时间。如下列出了系统常用的操作响应时间表.操作响应时间打开一个网站几秒数据库查询一条记录
2018-01-17 15:50:20 364
转载 网站架构篇 | (三) 架构核心要素
所谓架构,一种通俗的说法就是“最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。 而软件架构即“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各方面的设计”。一般来说软件架构需要关注性能、可用性、伸缩性、扩展性和安全性这5个架构要素。1、性能 性能是网站架构设计的一个重要方面,任何软件架构设计方案都必须考虑可
2018-01-17 15:41:01 444
转载 网站架构篇 | (二)架构模式
每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复工作。 所谓网站架构模式即为了解决大型网站面临的高并发访问、海量数据、高可靠运行灯一系列问题与挑战。为此,在实践中提出了许多解决方案,以实现网站高性能、高可靠性、易伸缩、可扩展、安全等各种技术架构目标。1、分层 分词是企业应用
2018-01-17 15:20:29 352
转载 网站架构篇 | (一) 大型网站架构演化
看完了有一本书,就应该有所收获,有所总结,最近把《大型网站技术架构》一书给看完了,给人的印象实在深刻,再加上之前也搞过书本上讲的反向代理和负载均衡以及session独立存储和缓存,因此书本看起来还是挺通俗易懂的,而且作者李智慧给人的印象(书本)也挺深刻的,我从这本书中也学到了许多,了解的许多,但是理解还是比较抽象的,写出来才是真正的理解,因此准备写一系列的博客来介绍和加深理解大型网站技术架构。
2018-01-17 13:39:08 403
转载 Java开发 | 安全篇 Cookie设置secure属性
What is it and why do I care ?Session cookies (或者包含JSSESSIONID的cookie)是指用来管理web应用的session会话的cookies.这些cookie中保存特定使用者的session ID标识,而且相同的session ID以及session生命周期内相关的数据也在服务器端保存。在web应用中最常用的session管理方式是
2018-01-16 14:47:26 16406
转载 Java 开发 | 安全篇 设置Cookie 的HttpOnly属性
关于Cookie的其它只是不在累述、本文主要讲讲自己在项目中遇到的cookie的HttpOnly属性问题Cookie的HttpOnly属性说明cookie的两个新的属性secure和Httponly分别表示只能通过Http访问cookie 不能通过脚本访问Cookie、HttpOnly属性在一定程度上可以防止XSS攻击(XSS攻击类似sql注入,更多资料可以百度查阅)。在web
2018-01-16 14:42:07 13315 1
转载 Java泛型中<? extends E>和<? super E>的区别
是 Upper Bound(上限) 的通配符,用来限制元素的类型的上限,比如[java] view plain copy Listextends Fruit> fruits; 表示集合中的元素类型上限为Fruit类型,即只能是Fruit或者Fruit的子类,因此对于下面的赋值是合理的[java]
2018-01-11 17:27:01 380
转载 SpringBoot学习系列 | (七)Spring @Async 异步线程池用法梳理
1. TaskExecutorSpring异步线程池的接口类,其实质是java.util.concurrent.ExecutorSpring 已经实现的异常线程池:1. SimpleAsyncTaskExecutor:不是真的线程池,这个类不重用线程,每次调用都会创建一个新的线程。2. SyncTaskExecutor:这个类没有实现异步调用,只是一个同步操作。只适用于不需要多线程...
2018-01-10 15:42:48 1351
转载 日志学习 | Log4j 不同模块输出到不同的文件
1、实现目标 不同业务的日志信息需要打印到不同的文件中,每天或者每个小时生成一个文件。如,注册的信息打印到register.log,每天凌晨生成一个register-年月日.log文件, 登录信息的日志打印到一个login.log文件中,login-年月日.log。整体架构:2、maven配置xml version="1.0" encoding="UT
2018-01-05 16:51:54 1939
转载 SpringBoot学习系列 | (六)构建一个较为复杂的RESTful API以及单元测试
首先,回顾并详细说明一下在快速入门中使用的@Controller、@RestController、@RequestMapping注解。如果您对Spring MVC不熟悉并且还没有尝试过快速入门案例,建议先看一下快速入门的内容。@Controller:修饰class,用来创建处理http请求的对象 @RestController:Spring4之后加入的注解,原来在@Controller中返回...
2018-01-04 16:59:04 938
转载 Spring-Security学习系列 | (1)概念了解
相关解释说明注解 @EnableWebSecurity在 Spring boot 应用中使用 Spring Security,用到了 @EnableWebSecurity注解,官方说明如下:/** * Add this annotation to an {@code @Configuration} class to have the Spring Security * configuratio...
2018-01-03 19:53:11 824
转载 Spring系列文章 | SockJS长连接实现一对一和一对多通信
最近项目上要做扫码登录,所以研究了一下Spring WebSocket。网上找了很多资料 springmvc(18)使用WebSocket 和 STOMP 实现消息功能、spring websocket + stomp 实现广播通信和一对一通信,要么就是不是自己想要的,要么就是只有中间一部分。所以特别写了这篇文章,一方面怕自己遗忘,另一方面是希望可以给大家一些参考。先放代码,在文章的最
2018-01-03 16:33:46 1184
转载 SpringBoot学习系列 | (五)Logback 教科书级别教程
1 简单日志配置spring boot内部使用Commons Logging来记录日志,但也保留外部接口可以让一些日志框架来进行实现,例如Java Util Logging,Log4J2还有Logback。如果你想用某一种日志框架来进行实现的话,就必须先配置,默认情况下,spring boot使用Logback作为日志实现的框架。1.1 配置控制台日志的debug级别默认情况下,spr...
2018-01-03 16:03:30 964
转载 Logger日志级别说明及设置方法、说明
日志记录器(Logger)是日志处理的核心组件。log4j具有5种正常级别(Level)。日志记录器(Logger)的可用级别Level (不包括自定义级别 Level), 以下内容就是摘自log4j API (http://jakarta.apache.org/log4j/docs/api/index.html):static Level WARNWARN level表明会出现潜
2018-01-03 11:17:52 2313
原创 Java 判断一个对象中属性是否为空或空字符串
废话不多说,直接上代码:public boolean checkObjFieldIsNull(Object obj) throws IllegalAccessException { boolean flag = false; for(Field f : obj.getClass().getDeclaredFields()){ f.setAccessible(
2018-01-03 10:45:13 28002 5
apollo-configservice_apollo-configdev.log
2018-04-02
lukeall-4.3.1jar,lukeall
2016-08-07
求问一个Oracle 查询语句如何写!
2017-04-23
求问一个Mybatis如何解决分页泛型返回问题。
2017-04-21
TA创建的收藏夹 TA关注的收藏夹
TA关注的人