![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
架构大师
文章平均质量分 87
探讨架构的技术实现和优化
太阳神LoveU
自强不息,奋斗不止。以技术驱动智慧生产,以技术服务智慧生活,对于社会有些许用处,并不枉执着痴狂,亦不枉费青春。本博主技术文章和配套资源将逐步开放至站点之技术论坛相关栏目,方便各位大拿和看官下载使用和探讨交流,尽请关注,感激不尽^_^
展开
-
CentOS 7 mini 运行环境搭建与测试——CentOS Mini 安装ifconfig工具【云原生开发部署实践笔记】
虽然CentOS已经更新到Stream 9 版本,但基于大多数企业和单位多数使用CentOS 7版本作为运行底座,7版本也一直在更行维护,此实践基于CentOS 7 Mini版本搭建。(8和9版本的CentOS系统命令少有差别,但主要用到的其实都差不多,最大的差别在于系统内核与自带的软件组件和库比较新。如果企业开发部署对兼容性有要求,应选择其要求或匹配版本。原创 2023-12-08 00:05:50 · 878 阅读 · 0 评论 -
Harbor高可用集群设计及部署(基于离线安装方式)
基于Harbor离线安装方式的高可用方案设计及部署。转载 2023-08-27 01:00:13 · 721 阅读 · 0 评论 -
Centos8安装docker-ce
CentOS 8安装docker-ce。原创 2023-08-16 03:33:39 · 406 阅读 · 0 评论 -
JDK 19新特性 & JDK 多版本安装切换配置
新版本同样为Java引入了虚拟线程,虚拟线程是JDK实现的轻量级线程,它在其他多线程语言中已经被引入并且也证实了十分有用,比如Go中的Goroutine、Erlang中的进程等等。Record Patterns可对Record的值进行解构,通过嵌套Record模式和Type模式能够实现强大的、声明性的、可组合的数据导航和处理形式。虚拟线程可以避免上下文切换的额外耗费,兼顾了多线程的优点,简化了高并发程序的复杂,可以有效减少编写、维护和观察高吞吐量并发应用程序的工作量。向量计算是由对向量的一系列操作而组成。转载 2022-12-15 00:35:18 · 1287 阅读 · 0 评论 -
内存数据库简介-内存数据库性能排行
存储在内存数据库的数据一般是相对于存储在传统数据库中的数据而言的,即存储在内存数据库的数据一般时效性较低。通常,在内存数据库,每个数据都有一个有效时间和有效期。如果数据存储时间或读取时间超过了这个有效时间,原来的数据就会失效,会产生新的数据进行替换。这种特殊性决定了内存数据库只能在一些特殊的场合和特定的范围内使用。然而,在现实生活中,为了同时保证读取的效率和数据的稳定性,开发者往往将传统数据库与内存数据库结合起来原创 2022-09-24 00:16:03 · 2544 阅读 · 0 评论 -
Spring Cloud Sleuth:分布式请求链路跟踪
随着我们的系统越来越庞大,各个服务间的调用关系也变得越来越复杂。当客户端发起一个请求时,这个请求经过多个服务后,最终返回了结果,经过的每一个服务都有可能发生延迟或错误,从而导致请求失败。这时候我们就需要请求链路跟踪工具来帮助我们,理清请求调用的服务链路,解决问题。#原创 2022-09-20 18:13:32 · 190 阅读 · 0 评论 -
Spring Cloud Bus:消息总线
我们通常会使用消息代理来构建一个主题,然后把微服务架构中的所有服务都连接到这个主题上去,当我们向该主题发送消息时,所有订阅该主题的服务都会收到消息并进行消费。使用 Spring Cloud Bus 可以方便地构建起这套机制,所以 Spring Cloud Bus 又被称为消息总线。Spring Cloud Bus 配合 Spring Cloud Config 使用可以实现配置的动态刷新。原创 2022-09-20 18:09:01 · 155 阅读 · 0 评论 -
Spring Cloud 核心组件之Spring Cloud Zuul:API网关服务
Spring Cloud Zuul API网关为微服务架构中的服务提供了统一的访问入口,客户端通过API网关访问相关服务。API网关的定义类似于设计模式中的门面模式,它相当于整个微服务架构中的门面,所有客户端的访问都通过它来进行路由及过滤。它实现了请求路由、负载均衡、校验过滤、服务容错、服务聚合等功能。#接下来我们自定义一个过滤器来演示下过滤器的作用。#添加PreLogFilter类继承ZuulFilter这是一个前置过滤器,用于在请求路由到目标服务前打印请求日志。原创 2022-09-20 18:02:26 · 239 阅读 · 0 评论 -
Spring Cloud Config:外部集中化配置管理
Spring Cloud Config 分为服务端和客户端两个部分。服务端被称为分布式配置中心,它是个独立的应用,可以从配置仓库获取配置信息并提供给客户端使用。客户端可以通过配置中心来获取配置信息,在启动时加载配置。Spring Cloud Config 的配置中心默认采用Git来存储配置信息,所以天然就支持配置信息的版本管理,并且可以使用Git客户端来方便地管理和访问配置信息。#转载 2022-09-20 16:26:46 · 126 阅读 · 0 评论 -
Spring Cloud 核心组件之Spring Cloud Zuul:API网关服务
API网关为微服务架构中的服务提供了统一的访问入口,客户端通过API网关访问相关服务。API网关的定义类似于设计模式中的门面模式,它相当于整个微服务架构中的门面,所有客户端的访问都通过它来进行路由及过滤。它实现了请求路由、负载均衡、校验过滤、服务容错、服务聚合等功能。#接下来我们自定义一个过滤器来演示下过滤器的作用。#添加PreLogFilter类继承ZuulFilter这是一个前置过滤器,用于在请求路由到目标服务前打印请求日志。原创 2022-09-20 16:12:11 · 140 阅读 · 0 评论 -
Spring Cloud OpenFeign:基于Ribbon和Hystrix的声明式服务调用
Feign是声明式的服务调用工具,我们只需创建一个接口并用注解的方式来配置它,就可以实现对某个服务接口的调用,简化了直接使用RestTemplate来调用服务接口的开发量。Feign具备可插拔的注解支持,同时支持Feign注解、JAX-RS注解及SpringMvc注解。当使用Feign时,Spring Cloud集成了Ribbon和Eureka以提供负载均衡的服务调用及基于Hystrix的服务容错保护功能。原创 2022-09-20 16:06:00 · 176 阅读 · 0 评论 -
Spring Cloud 核心组件之Spring Cloud Hystrix:服务容错保护
在微服务架构中,服务与服务之间通过远程调用的方式进行通信,一旦某个被调用的服务发生了故障,其依赖服务也会发生故障,此时就会发生故障的蔓延,最终导致系统瘫痪。Hystrix实现了断路器模式,当某个服务发生故障时,通过断路器的监控,给调用方返回一个错误响应,而不是长时间的等待,这样就不会使得调用方由于长时间得不到响应而占用线程,从而防止故障的蔓延。Hystrix具备服务降级、服务熔断、线程隔离、请求缓存、请求合并及服务监控等强大功能。#原创 2022-09-20 15:35:44 · 189 阅读 · 0 评论 -
Spring Cloud组件之 Spring Cloud Ribbon:负载均衡的服务调用
在微服务架构中,很多服务都会部署多个,其他服务去调用该服务的时候,如何保证负载均衡是个不得不去考虑的问题。负载均衡可以增加系统的可用性和扩展性,当我们使用RestTemplate来调用其他服务时,Ribbon可以很方便的实现负载均衡功能。原创 2022-09-20 15:30:03 · 147 阅读 · 0 评论 -
Spring-Cloud 组件之 Spring Cloud Eureka:服务注册与发现
在微服务架构中往往会有一个注册中心,每个微服务都会向注册中心去注册自己的地址及端口信息,注册中心维护着服务名称与服务实例的对应关系。每个微服务都会定时从注册中心获取服务列表,同时汇报自己的运行情况,这样当有的服务需要调用其他服务时,就可以从自己获取到的服务列表中获取实例地址进行调用,Eureka实现了这套服务注册与发现机制。原创 2022-09-20 15:25:48 · 221 阅读 · 0 评论 -
SpringCloud整体架构概览
构建分布式系统不应该是复杂的,SpringCloud对常见的分布式系统模式提供了简单易用的编程模型,帮助开发者构建弹性、可靠、协调的应用程序。SpringCloud是在SpringBoot的基础上构建的,使开发者可以轻松入门并快速提高工作效率。SpringCloud为开发人员提供了快速构建分布式系统架构的工具,例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态等。翻译 2022-09-20 15:20:16 · 134 阅读 · 0 评论 -
理解Java的三大特性之多态
面向对象编程有三大特性:封装、继承、多态。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多态呢?多态的实现机制又是什么?转载 2022-09-08 15:22:49 · 116 阅读 · 0 评论 -
Java多线程之Callable和Future
假设有一个很耗时的返回值需要计算,并且这个返回值不是立刻需要的话,那么就可以使用这个组合,用另一个线程去计算返回值,而当前线程在使用这个返回值之前可以做其它的操作,等到需要这个返回值时,再通过Future得到,岂不美哉!而用方法2,必须等第一个文件下载结束后,才会获得其他文件的下载结果。代码是不是简化了很多,ExecutorService继承自Executor,它的目的是为我们管理Thread对象,从而简化并发编程,Executor使我们无需显示的去管理线程的生命周期,是JDK 5之后启动任务的首选方式。转载 2022-09-08 15:17:13 · 363 阅读 · 0 评论 -
探秘Java中的String、StringBuilder以及StringBuffer
在String类中,intern方法是一个本地方法,在JAVA SE6之前,intern方法会在运行时常量池中查找是否存在内容相同的字符串,如果存在则返回指向该字符串的引用,如果不存在,则会将该字符串入池,并返回一个指向该字符串的引用。这里面虽然将b用final修饰了,但是由于其赋值是通过方法调用返回的,那么它的值只能在运行期间确定,因此a和c指向的不是同一个对象。1)的效率比2)的效率要高,1)中的"love"+"java"在编译期间会被优化成"lovejava",而2)中的不会被优化。转载 2022-09-08 15:14:33 · 156 阅读 · 0 评论 -
Java NIO:浅析I/O模型
本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Proactor)。转载 2022-09-08 15:04:33 · 129 阅读 · 0 评论 -
Maven 三种archetype说明合集【转载】
Archetype 是一个 Maven 项目模板工具包。原型被定义为原始模式或模型,从中创建所有其他相同类型的东西。这些名称适合我们尝试提供一个系统,该系统提供生成Maven项目的一致方法。Archetype 将帮助作者为用户创建 Maven 项目模板,并为用户提供生成这些项目模板的参数化版本的方法。使用archetype构建项目,不用让我们在添加各种pom文件或者copy代码。构建项目骨架简单迅速。玩的开心!......转载 2022-08-17 16:03:33 · 5157 阅读 · 1 评论 -
Hadoop之Hive架构与设计
Hive是Apache Hadoop的正式子项目,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。Hive是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以在Hadoop中对大规模数据进行存储、查询和分析的机制。...转载 2022-08-12 21:00:35 · 409 阅读 · 0 评论 -
Matplotlib Installing an official release from resources 源码安装Matplotlib官方版本
源码安装Matplotlib官方版本翻译 2022-04-27 22:06:26 · 406 阅读 · 0 评论 -
推荐几款Vue后台管理系统的框架,以便备用
推荐几款Vue后台管理系统的框架,以便备用Vue.js 是一个目前比较流行的前端框架,在业界也算很有名气,今天这里为大家罗列一下基于Vue的后端管理的框架。使用这些框架你会发现它包括了我们常用的路由,状态,交互等等,我们只需要去复用它的代码,加上一下我们自己少量的逻辑就能轻松的完成项目。会为你节约更多时间喝喝咖啡等,给你一种“框架在手,天下我有”的感觉。这篇文章主要介绍element和Vue Admin。1、elementElement UI 是一套采用 Vue 2.0 作为基础框架转载 2021-09-04 17:33:41 · 12298 阅读 · 0 评论 -
【7】SpringBoot是什么?SpringBoot的优缺点有哪些?
随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重,繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。在上述环境下,SpringBoot 应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用 Spring Boot 很容易创建一个独立运行(运行 jar,内嵌Servlet容器)、准生产级别的基于 Spring 框架的项目,使用 Spring...原创 2021-07-27 13:29:39 · 264 阅读 · 0 评论 -
【6】Spring JavaConfig和常见Annotation
Java5 的推出,加上当年基于纯 Java Annotation 的依赖注入框架 Guice 的出现,使得Spring框架及其社区也“顺应民意”,推出并持续完善了基于 Java 代码和 Annotation 元信息的依赖关系绑定描述方式,即 JavaConfig 项目。基于 JavaConfig 方式的依赖关系绑定描述基本上映射了最早的基于 XML 的配置方式,比如:1)表达形式层面基于 XML 的配置方式是这样的:<?xml version="1.0" encoding...原创 2021-07-27 13:27:32 · 109 阅读 · 0 评论 -
【5】Spring IoC介绍
有部分Java开发者对 IoC(Inversion Of Control)和 DI(Dependency Injection)的概念有些混淆,认为二者是对等的。IoC 其实有两种方式,一种就是 DI,而另一种是 DL,即 Dependency Lookup(依赖查找),前者是当前软件实体被动接受其依赖的其他组件被 IoC 容器注入,而后者则是当前软件实体主动去某个服务注册地查找其依赖的那些服务,概念之间的关系如图 1 所示可能更贴切些。图 1IoC相关概念示意图我们通常提到的...原创 2021-07-27 13:25:17 · 79 阅读 · 0 评论 -
【03】实现微服务会带来哪些挑战?
微服务给我们带来的并非只有好处,还有相应的一些挑战。服务“微”化之后,一个显著的特点就是服务的数量增多了。如果将软件开发和交付也作为一种生产模式看待,那么数量众多的微服务实际上就类似于传统生产线上的产品,而在传统生产模型下,为了能够高效地生产大量产品,通常采用的就是标准化生产。比如在汽车产业,在福特 T 型车没有出来之前,大多汽车企业的生产效率都不高,而福特在引入标准化生产线之后,福特 T 型车得以大量生产并以低成本优势快速普及。在其他行业也是同样的道理,个性化生产虽然会深得个别用户的喜欢,但生产成本原创 2021-07-27 11:11:50 · 110 阅读 · 0 评论 -
【02】微服务的好处(优点)有哪些?
显然,随着系统复杂度的提升,以及对系统扩展性的要求越来越高,微服务化是一个很好的方向,但除此之外,微服务还会给我们带来哪些好处?独立,独立,还是独立我们说微服务打响的是各自的独立战争,所以,每一个微服务都是一个小王国,这些微服务跳出了“大一统”(Monolith)王国的统治,开始从各个层面打造自己的独立能力,从而保障自己的小王国可以持续稳固的运转。首先,在开发层面,每个微服务基本上都是各自独立的项目(project),而对应各自独立项目的研发团队基本上也是独立对应,这样的结构保证了微服务的并行研发原创 2021-07-27 11:09:18 · 390 阅读 · 0 评论 -
【01】微服务(Microservice)是什么?为什么会出现微服务?
微服务(Microservice)虽然是当下刚兴起的比较流行的新名词,但本质上来说,微服务并非什么新的概念。实际上,很多 SOA(面向服务的架构)实施成熟度比较好的企业,已经在使用和实施微服务了。只不过,它们只是在闷声发大财,并不介意是否有一个比较时髦的名词来明确表述 SOA 的这个发展演化趋势罢了。微服务其实就是服务化思路的一种最佳实践方向,遵循 SOA 的思路,各个企业在服务化治理的道路上走的时间长了,踩的坑多了,整个软件交付链路上各个环节的基础设施逐渐成熟了,微服务自然而然就诞生了。当然,之所以原创 2021-07-27 11:04:42 · 328 阅读 · 0 评论 -
SpringCloud基础组件总结,与Dubbo框架、SpringBoot框架对比分析
SpringCloud基础组件总结,与Dubbo框架、SpringBoot框架对比分析本文源码:GitHub·点这里 || GitEE·点这里一、基础组件总结1、文章阅读目录1)、基础组件Eureka组件,服务注册与发现Ribbon和Feign组件,实现负载均衡Hystrix组件,实现服务熔断Turbine组件,实现微服务集群监控Zuul组件,实现路由网关控制Config组件,实现配置统一管理Zipkin组件,实现请求链路追踪2)、应用案例基于Shard-Jdbc分库分表,数据库扩原创 2021-05-01 20:57:40 · 251 阅读 · 0 评论 -
Apollo在有赞的实践
Apollo在有赞的实践原创有赞技术有赞coder2020-02-14、、作者:俞柯 & 张正团队:有赞云一. 背景和Apollo简介在集中式开发时代,配置文件基本足够用了,因为那时配置的管理通常不会成为一个很大的问题,简单一点来说,系统上了生产之后,如果需要修改一个配置,登录到这台生产机器上,修改这个配置文件,然后reload配置文件并不是什么很大的负担。但是在互联网时代,我们的应用都是分布式系统,部署在N台机器上,如果在线上一台一台的重启机器,会造成很大的...转载 2021-01-18 16:25:39 · 385 阅读 · 0 评论 -
Apollo+ES源码改造,构建民生银行的ELK日志平台配置管理中心【转载】
Apollo+ES源码改造,构建民生银行的ELK日志平台配置管理中心原创高效开发运维架构头条2019-02-28作者 | 中国民生银行大数据基础平台运维组团队编辑 | 张婵随着 IT 业务系统的迅速发展,中国民生银行需要考虑实现一套完整并适用于民生银行的日志文件智能分析与处理的解决方案。本文详细介绍了中国民生银行大数据基础平台运维组团队通过改造 Apollo 和 ES 的源码,构建了自己的天眼实时智能日志管理分析平台。 背景 随着中国民生银行的 IT 业务系统的迅速...转载 2021-01-18 16:18:57 · 472 阅读 · 0 评论 -
C++对象之间通信
<br />一直学习C++并使用C++完成了一个一个作业和项目,然而对C++类对象之间的通信总有种不知所措就好像人吃了饭自然会消化那样只知其然,不知起所以然的感觉。人,活着,好多时候是在寻找真理,其实说俗点就是在找一个自己能够容易接受的理由来说服自己。只是其会这样而不知为什么会这样有时会使人自己遭受心魔攻击。笔者就在写程序时总有股困扰在心中挥之不去。于是,今天我决定狠下心驱除扰我已久心魔。<br />在将对象消息传递方法之前,我们先声明C++对象之间消息传递区别于windows消息传递。这是两个转载 2010-12-11 21:08:00 · 4353 阅读 · 3 评论 -
轻松编写 C++ 单元测试 介绍全新单元测试框架组合: googletest 与 googlemock
简介: googletest 与 googlemock 是 Google 公司于 2008 年发布的两套用于单元测试的应用框架,本文将向读者介绍如何应用这两套应用框架轻松编写 C++ 单元测试代码。以下讨论基于 gtest-1.2.1 及 gmock-1.0.0 。转载 2010-10-20 09:00:00 · 1064 阅读 · 0 评论 -
NetBeans 代码帮助功能的使用 C++项目为例 [Ubuntu 下NS2项目调试技巧]
使用NS2调试项目过于繁杂,可用NetBeans IDE把整个项目导入调试,万一代码提示不小心给弄丢了,用本文提供的方法就能重新找到代码提示,省去很多麻烦。原创 2010-10-06 11:41:00 · 2293 阅读 · 1 评论