- 博客(180)
- 资源 (13)
- 收藏
- 关注
转载 后端高可用架构演进
比如分库分表的管理和请求分发,由Mycat实现,SQL的解析由单机的数据库实现,读写分离可能由网关和消息队列来实现,查询结果的汇总可能由数据库接口层来实现等等,这种架构其实是MPP(大规模并行处理)架构的一类实现。上图中的LVS和F5是工作在网络第四层的负载均衡解决方案,其中LVS是软件,运行在操作系统内核态,可对TCP请求或更高层级的网络协议进行转发,因此支持的协议更丰富,并且性能也远高于Nginx,可假设单机的LVS可支持几十万个并发的请求转发。大促过后就可以关闭镜像,对机器上的其他服务不造成影响。
2025-03-05 14:45:55
24
转载 JVM调优思路
JVM调优是一件很严肃的事情,前期需要严密的分析和监控。实际上,JVM调优是不得已而为之,有那功夫,好好把烂代码重构一下不比瞎调JVM参数强么?
2023-03-01 16:21:31
271
原创 CentOS7部署k8s集群
CentOS版本角色 IPKubernetes 默认 CRI(容器运行时)为 Docker,因此先安装 Docker。(1)安装 Docker(2)添加阿里云 YUM 软件源设置仓库地址添加 yum 源(3)安装 kubeadm,kubelet 和 kubectl(1)在 172.26.197.206(Master)执行由于默认拉取镜像地址 k8s.gcr.io 国内无法访问,这里指定阿里云镜像仓库地址。确保能够访问到 quay.io 这个 registery。
2022-09-28 13:57:41
1891
转载 几种常见的JVM调优场景(建议收藏)
以上三种严格地说还算不上jvm的调优,只是用了jvm工具把代码中存在的问题找了出来。我们进行jvm的主要目的是尽量减少停顿时间,提高系统的吞吐量。但是如果我们没有对系统进行分析就盲目去设置其中的参数,可能会得到更坏的结果,jvm发展到今天,各种默认的参数可能是实验室的人经过多次的测试来做平衡的,适用大多数的应用场景。如果你认为你的jvm确实有调优的必要,也务必要取样分析,最后还得慢慢多次调节,才有可能得到更优的效果。作者:我是满意吖。...
2022-08-16 18:43:59
538
转载 《我想进大厂》之Dubbo普普通通9问
一致性hash:通过hash算法,把provider的invoke和随机节点生成hash,并将这个 hash 投射到 [0, 2^32 - 1] 的圆环上,查询的时候根据key进行md5然后进行hash,得到第一个节点的值大于等于当前hash的invoker。从大的范围来说,dubbo分为三层,business业务逻辑层由我们自己来提供接口和实现还有一些配置信息,RPC层就是真正的RPC调用的核心层,封装整个RPC的调用过程、负载均衡、集群容错、代理,remoting则是对网络传输协议和数据转换的封装。..
2022-08-14 18:10:35
269
转载 Dubbo基础及原理机制
Dubbo是 阿里巴巴公司开源的一个高性能RPC 分布式服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和Spring框架无缝集成,现已成为 Apache 基金会孵化项目
2022-06-11 12:13:44
48316
3
转载 分布式事务:seata
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。AT模式是阿里首推的模式,阿里云上有商用版本的GTS(Global Transaction Service 全局事务服务)。...
2022-06-06 10:50:27
555
转载 SPRINGBOOT启动流程及其原理
SpringBoot启动原理精简版 Spring Boot、Spring MVC 和 Spring 有什么区别? 一 springboot启动原理及相关流程概览 二 springboot的启动类入口 三 单单是SpringBootApplication接口用到了这些注解 1)@Configuration注解 2)@ComponentScan注解 3)@EnableAutoConfiguration AutoConfigurationPackage注解: Impor...
2021-11-09 15:09:58
455
原创 Logstash Grok patterns
** logstash正则关键字,记录于此,不必每次十啬 **grok-patternsUSERNAME [a-zA-Z0-9._-]+USER %{USERNAME}EMAILLOCALPART [a-zA-Z][a-zA-Z0-9_.+-=:]+EMAILADDRESS %{EMAILLOCALPART}@%{HOSTNAME}INT (?:[+-]?(?:[0-9]+))BASE10NUM (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\.[0-
2021-04-29 13:52:27
283
原创 ELK+Filebeat+Kafka,SpringBoot异常日志收集
ELK+Filebeat+Kafka,SpringBoot异常日志收集概述SpringBoot项目日志输出格式化配置Filebeat汇集换行的日志为一行Logstash格式化项目日志概述FileBeat + Kafka + ELK,收集SpringBoot项目的日志输出,有几个地方需要注意:项目日志输出格式化Filebeat将多行日志汇集成一行Logstash将项目日志格式化为jsonSpringBoot项目日志输出格式化logback-spring.xml<?xml versio
2021-04-29 11:01:46
820
原创 Sentinel监控SpringBoot项目
Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性一、下载启动Sentinel下载sentinel地址:https://github.com/alibaba/Sentinel/releases下载sentinel-dashboard-1.8.1.jarjava -jar sentinel-dashboard-1.8.1.jar --server.port=8305--server.port=8305 以8305为sentinel控制台的端口
2021-03-11 09:28:31
357
转载 Tomcat 启动速度优化
本文简单介绍如何让 Tomcat 更快启动, 同时提供一些建议。一般建议问题一般分为2类: 一类是BUG,还有一类是性能问题。首先提醒一点: 如果碰到 Tomcat hang 住或者请求不响应, 必须先诊断和排查问题, 而不要急着去优化。 可以执行 线程转储, 看看 JVM 出了什么问题。请参考Tomcat的wiki页面: 问题检测与诊断 。JAR 包扫描在Servlet 3....
2020-03-14 18:14:23
376
转载 过滤器(Filter)解决跨域问题
最近在做一个项目,前端资源与服务端单独部署。遇到一个跨域问题,常见的跨域问题可以通过jsonp方式解决。下面介绍另一种解决方式:服务端环境:spring + dubbo + tomcat第一步:在WEB-INF目录下添加一个crossdomain.xml文件,内容如下:<cross-domain-policy><allow-access-from domain=...
2019-03-23 11:15:44
2927
转载 HashMap,LinkedHashMap,TreeMap的区别
原文地址:http://blog.youkuaiyun.com/xin_jmail/article/details/25975085Map主要用于存储健值对,根据键得到值,因此不允许键重复(重复了覆盖了),但允许值重复。Hashmap 是一个最常用的Map,它根据键的HashCode 值存储数据,根据键可以直接获取它的值,具有很快的访问速度,遍历时,取得数据的顺序是完全随机的。HashMap最多只允许一...
2019-02-18 10:56:58
271
转载 从接入层入手,设计高并发的微服务架构?
从接入层入手,设计高并发的微服务架构?对于静态资源来讲,其实在真实的访问机房内的对象存储之前,在最最接近用户的地方,可以先通过 CDN 进行缓存,这也是高并发应用的一个总体的思路,能接近客户,尽量接近客户。from http://developer.51cto.com/art/201803/567754.htm作者:刘超来源:通俗云计算|2018-03-12 09:05本篇介绍微服...
2019-02-15 05:57:50
394
转载 高并发高性能分布式框架从无到有微服务架构设计分享
微服务架构模式(Microservice Architect Pattern)。近两年在服务的疯狂增长与云计算技术的进步,让微服务架构受到重点关注微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具...
2019-02-11 16:59:30
276
转载 这可能是最为详细的Docker入门总结
在计算机技术日新月异的今天, Docker 在国内发展的如火如荼。特别是在一线互联网公司 Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,不信的话看看下面这张图。这是我在某招聘网站上看到的招聘 Java 开发工程师的招聘要求,其中有一条熟悉 Docker 成为了你快速入职的加分项,由此可见熟悉 Docker 在互联网公司的地位之重要。市面上已经有很多优秀的 Docke...
2019-02-09 20:39:46
405
原创 2019正月初一排查maven无厘头问题
今天是2019年正月初一,看到另一个角度拍摄的,助理在众多“现场观众”的注视下,帮刘谦变更道具的魔术,无趣。还是按计划把我的微服务项目往前推进一下吧。我的微服务项目包括几个module,服务注册、服务提供者、服务消费者、安全、配置中心、负载均衡、路由。已经编写完毕,现在需要打成jar包,用docker部署到CentOS。千山万水都过去了,居然在maven打包时出现点异常。在module b...
2019-02-05 17:36:07
1647
原创 客户端注册eureka服务失败registration failed Cannot execute request on any known server
SpringBoot 2.0.3.RELEASESpringCloud Finchley.RELEASE启动 eureka 客户端,报如下错误:2019-02-01 11:36:56.933 INFO 388404 --- [ main] com.netflix.discovery.DiscoveryClient : Application version...
2019-02-01 11:55:11
33067
7
转载 Gradle 15分钟入门教程
from https://www.yiibai.com/gradle/gradle-tutorial-for-beginners.html1-Gradle入门介绍在阅读或实践本文中的实例前,必须首先确保已将Gradle插件安装到Eclipse中。如果没有,可以点击下面的链接查看Gradle安装说明:http://www.yiibai.com/gradle/how-install-gra...
2019-01-24 19:06:33
494
原创 两个list合并的算法
valueListtimeList 根据两个list比对获取这样的数据以timeList为基准,把valueList的值合并到新的List,valueList中没有的值设为0 public class ComOrder { private List<Map<String, Integer>> valueList = new Ar...
2019-01-24 17:39:48
1918
原创 算法-调整数组顺序使奇数位于偶数前面
输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)/** * 调整数组顺序使奇数位于偶数前面 * * 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分, * 所有偶数位于数组的后半部分。要求时间复杂度为O(n) */public class OddHead { /** ...
2019-01-23 16:09:18
466
转载 算法-动态规划 Dynamic Programming--从菜鸟到老鸟
2017年07月15日 22:58:29 HankingHu 阅读数:68782更多所属专栏: 图解算法版权声明:本文为博主原创文章,转载请标明出处。 https://blog.youkuaiyun.com/u013309870/article/details/75193592前言最近在牛客网上做了几套公司的真题,发现有关动态规划(Dynamic Programming)算法的题目很多。相对于...
2019-01-20 09:59:12
239
转载 【Java面试宝典】深入理解JAVA虚拟机
【Java面试宝典】深入理解JAVA虚拟机一、运行时数据区域 线程隔离:线程隔离的意思,就是给不同的线程多分配的资源用,以做到不争用。 线程共享:线程共享就是资源只有一个没有办法分配更多,只能共享。 Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区。程序计数器,虚拟机栈...
2019-01-19 20:27:31
243
转载 十大经典排序算法最强总结(含JAVA代码实现)
最近几天在研究排序算法,看了很多博客,发现网上有的文章中对排序算法解释的并不是很透彻,而且有很多代码都是错误的,例如有的文章中在“桶排序”算法中对每个桶进行排序直接使用了Collection.sort()函数,这样虽然能达到效果,但对于算法研究来讲是不可以的。所以我根据这几天看的文章,整理了一个较为完整的排序算法总结,本文中的所有算法均有JAVA实现,经本人调试无误后才发出,如有错误,请各位前辈...
2019-01-19 20:23:09
325
转载 深入理解JVM—JVM内存模型
我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发展,内存的读写速度也远远跟不上CPU的读写速度,因此,为了解决这一纠纷,CPU厂商在每颗CPU上加入了高速缓存,用来缓解这种症状,因此,现在CPU同内存交互就变成了下面的样子...
2019-01-17 13:30:59
195
转载 深入详解JVM内存模型与JVM参数详细配置
对于大多数应用来说,Java 堆(Java Heap)是Java 虚拟机所管理的内存中最大的一块。Java 堆是被所有线程共享的一块内存区域,在虚拟机启动时创建。JVM内存结构 由上图可以清楚的看到JVM的内存空间分为3大部分:堆内存 方法区 栈内存其中栈内存可以再细分为java虚拟机栈和本地方法栈,堆内存可以划分为新生代和老年代,新生代中还可以再...
2019-01-17 13:20:10
239
转载 史上最简单的 SpringCloud 教程 | 终章
史上最简单的 SpringCloud 教程 | 终章所属专栏: 史上最简单的 Spring Cloud 教程版权声明:本文为博主原创文章,欢迎转载,转载请注明作者、原文超链接 ,博主地址:http://blog.youkuaiyun.com/forezp。 https://blog.youkuaiyun.com/forezp/article/details/70148833转载请标明出处:https://b...
2019-01-13 08:27:24
191
转载 JAVA设计模式总结之23种设计模式
一、什么是设计模式 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。...
2019-01-12 09:34:06
305
转载 MQ详解及四大MQ比较
一、消息中间件相关知识1、概述消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。 2、消息中间件的组成 2.1 Broker消息服务器...
2019-01-11 20:58:57
34184
1
原创 idea中拷贝方式创建maven module需要注意的地方
比较安全的方式是在资源管理器中操作,分以下步骤拷贝module1为module2修改module2的pom.xml的坐标在parent的pom.xml中,增加对module2的引用 如果直接在idea中拷贝module1为module2,则idea自动把module2的java,resources都关联到了module1中,此时,需要按如下方式取消关联Project S...
2019-01-10 23:28:07
1310
原创 使用SpringCloud服务熔断hystrix及服务监控dashboard中遇到的问题
SpringCloud版本为 Dalston.SR1创建maven工程:billparent-allpom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org...
2019-01-10 21:04:41
395
转载 zookeeper的详细介绍及使用场景
Zookeeper是什么Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储, Zookeeper ...
2019-01-09 18:30:12
176
转载 ZooKeeper典型应用场景一览
ZooKeeper典型应用场景一览 数据发布与订阅(配置中心) 发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。 应用中用到的一些配置信息放到ZK上进行集中管理。这类场景通常是这样:应用在启动的时候会主动来获取一...
2019-01-09 18:28:20
171
转载 不要在微服务架构中使用单一数据库
来自: 21CTO(微信号:we21cto),编译:老夏,原文链接导读:当你把团队的整个代码库拆分,并转移到微服务架构时,不要忘记还有一个更重要的数据库设计。本篇文章告诉我们,如何拆分单一数据库。 当我们分解应用程序,采用微服务架构时,还有一点是,要重点关注单一数据库的改造。架构师们需要一个更可靠的策略来将单一数据库拆分为与应用程序一致的多个数据库。即将应用程序或服务中的单一共享式...
2019-01-06 08:10:50
3559
转载 不同微服务独立数据库,如何保障微服务架构下的数据一致性
虽然已经红了很久,但是“微服务架构”正变得越来越重要,也将继续火下去。各个公司与技术人员都在分享微服务架构的相关知识与实践经验,但我们发现,目前网上的这些相关文章中,要么上来就是很有借鉴意义的干货,要么就是以高端的专业术语来讲述何为微服务架构。就是没有一个做到成熟地将技术传播出来,同时完美地照顾“初入微服务领域人员”,从 0 开始,采用通俗易懂的语言去讲解微服务架构的系列。所以,我们邀请青柳云的苏...
2019-01-06 08:03:25
505
转载 Spring的启动流程
spring的启动是建立在servlet容器之上的,所有web工程的初始位置就是web.xml,它配置了servlet的上下文(context)和监听器(Listener),下面就来看看web.xml里面的配置:<!--上下文监听器,用于监听servlet的启动过程--><listener> <description>ServletCon...
2018-12-27 09:06:38
287
转载 spring 启动过程
转自 https://www.cnblogs.com/luoluoshidafu/p/6442055.html 首先,对于一个web应用,其部署在web容器中,web容器提供其一个全局的上下文环境,这个上下文就是ServletContext,其为后面的spring IoC容器提供宿主环境; 其次,在web.xml中会提供有contextLoaderListener。在web容器启动...
2018-12-27 09:04:01
157
转载 spring注解大全启用
spring @component的作用1、@controller 控制器(注入服务)2、@service 服务(注入dao)3、@repository dao(实现dao访问)4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的<bean id="" class=""/>) @Component,@Servi...
2018-12-27 08:06:40
298
Nginx高性能Web服务器详解
2018-05-05
Java并发编程
2018-05-05
JavaEE开发的颠覆者 Spring Boot实战 完整版
2018-05-05
破解CentOS中的root密码和grub密码
2018-05-05
KafKaStormRedis
2018-01-31
jvm调优思维脑图
2017-12-25
TProfiler_1.0.1
2017-11-20
mybatis-generator-1.3.3
2016-09-28
Ruby元编程中文版
2016-03-02
图片尺寸改变器
2012-06-30
Div+CSS布局实例教程.chm
2009-09-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人