微服务与千亿并发架构
文章平均质量分 89
本专栏主要探讨高并发架构的设计、实现和优化
太阳神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 · 923 阅读 · 0 评论 -
Spring Boot 项目五维度九层次分层架构实现实践研究——持续更新中
我们再次回顾分层五个思考维度:(1) 单一每层只处理一类事情,例如util只承载工具对象,integration只处理外部服务,每层职责单一且清晰(2) 降噪如无必要无增实体,例如查询结果DTO只透出最关键字段,例如运动员ID、创建时间、修改时间等业务不强字段无须透出(3) 适配service、facade、intergration层都存在适配器,翻译信息为本层或者下层可以理解的信息(4) 业务业务对象可以通过充血模型聚合业务,例如在业务对象中聚合业务校验逻辑(5) 数据。原创 2023-08-05 00:52:22 · 622 阅读 · 0 评论 -
JDK 19新特性 & JDK 多版本安装切换配置
新版本同样为Java引入了虚拟线程,虚拟线程是JDK实现的轻量级线程,它在其他多线程语言中已经被引入并且也证实了十分有用,比如Go中的Goroutine、Erlang中的进程等等。Record Patterns可对Record的值进行解构,通过嵌套Record模式和Type模式能够实现强大的、声明性的、可组合的数据导航和处理形式。虚拟线程可以避免上下文切换的额外耗费,兼顾了多线程的优点,简化了高并发程序的复杂,可以有效减少编写、维护和观察高吞吐量并发应用程序的工作量。向量计算是由对向量的一系列操作而组成。转载 2022-12-15 00:35:18 · 1324 阅读 · 0 评论 -
Cloud-computing 实验镜像 chinaskills_cloud_iaas.iso chinaskills_cloud_paas.iso
颇为费劲,用尽九牛二虎之力总算找到了,该大侠还分享了诸多系统镜像和完整实验包,省去了诸多麻烦。图片仅供参考了,CSDN菌说光链接要扣分,不得已挂几个图。更多相关教程请关注本博主其他教程文章和实践指南。最近因新项目再次进行云计算环境的搭建,原创 2022-11-29 08:04:05 · 9051 阅读 · 13 评论 -
OpenStack全网最全部署教程
简OpenStack单点来说就是一个云,一个属于自己的云平台,openstack的原版是亚马逊云,可以说openstack就是Rackspace和NASA的抄袭产物。官方点说一个云平台管理的项目,它不是一个软件。这个项目由几个主要的组件组合起来完成一些具体的工作。帮助服务商和企业内部实现类似于 Amazon ec2和S3的云基础架构服务(Infrastructure as a Service)。Openstack包括两个主要模块:Nova和 Swift。前者是NASA开发的虚拟服务器部署和业务计算模块;转载 2022-11-24 12:38:04 · 2479 阅读 · 1 评论 -
内存数据库简介-内存数据库性能排行
存储在内存数据库的数据一般是相对于存储在传统数据库中的数据而言的,即存储在内存数据库的数据一般时效性较低。通常,在内存数据库,每个数据都有一个有效时间和有效期。如果数据存储时间或读取时间超过了这个有效时间,原来的数据就会失效,会产生新的数据进行替换。这种特殊性决定了内存数据库只能在一些特殊的场合和特定的范围内使用。然而,在现实生活中,为了同时保证读取的效率和数据的稳定性,开发者往往将传统数据库与内存数据库结合起来原创 2022-09-24 00:16:03 · 2568 阅读 · 0 评论 -
Spring Cloud Sleuth:分布式请求链路跟踪
随着我们的系统越来越庞大,各个服务间的调用关系也变得越来越复杂。当客户端发起一个请求时,这个请求经过多个服务后,最终返回了结果,经过的每一个服务都有可能发生延迟或错误,从而导致请求失败。这时候我们就需要请求链路跟踪工具来帮助我们,理清请求调用的服务链路,解决问题。#原创 2022-09-20 18:13:32 · 200 阅读 · 0 评论 -
Spring Cloud Bus:消息总线
我们通常会使用消息代理来构建一个主题,然后把微服务架构中的所有服务都连接到这个主题上去,当我们向该主题发送消息时,所有订阅该主题的服务都会收到消息并进行消费。使用 Spring Cloud Bus 可以方便地构建起这套机制,所以 Spring Cloud Bus 又被称为消息总线。Spring Cloud Bus 配合 Spring Cloud Config 使用可以实现配置的动态刷新。原创 2022-09-20 18:09:01 · 167 阅读 · 0 评论 -
Spring Cloud 核心组件之Spring Cloud Zuul:API网关服务
Spring Cloud Zuul API网关为微服务架构中的服务提供了统一的访问入口,客户端通过API网关访问相关服务。API网关的定义类似于设计模式中的门面模式,它相当于整个微服务架构中的门面,所有客户端的访问都通过它来进行路由及过滤。它实现了请求路由、负载均衡、校验过滤、服务容错、服务聚合等功能。#接下来我们自定义一个过滤器来演示下过滤器的作用。#添加PreLogFilter类继承ZuulFilter这是一个前置过滤器,用于在请求路由到目标服务前打印请求日志。原创 2022-09-20 18:02:26 · 250 阅读 · 0 评论 -
Spring Cloud Config:外部集中化配置管理
Spring Cloud Config 分为服务端和客户端两个部分。服务端被称为分布式配置中心,它是个独立的应用,可以从配置仓库获取配置信息并提供给客户端使用。客户端可以通过配置中心来获取配置信息,在启动时加载配置。Spring Cloud Config 的配置中心默认采用Git来存储配置信息,所以天然就支持配置信息的版本管理,并且可以使用Git客户端来方便地管理和访问配置信息。#转载 2022-09-20 16:26:46 · 136 阅读 · 0 评论 -
Spring Cloud 核心组件之Spring Cloud Zuul:API网关服务
API网关为微服务架构中的服务提供了统一的访问入口,客户端通过API网关访问相关服务。API网关的定义类似于设计模式中的门面模式,它相当于整个微服务架构中的门面,所有客户端的访问都通过它来进行路由及过滤。它实现了请求路由、负载均衡、校验过滤、服务容错、服务聚合等功能。#接下来我们自定义一个过滤器来演示下过滤器的作用。#添加PreLogFilter类继承ZuulFilter这是一个前置过滤器,用于在请求路由到目标服务前打印请求日志。原创 2022-09-20 16:12:11 · 146 阅读 · 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 · 194 阅读 · 0 评论 -
Spring Cloud 核心组件之Spring Cloud Hystrix:服务容错保护
在微服务架构中,服务与服务之间通过远程调用的方式进行通信,一旦某个被调用的服务发生了故障,其依赖服务也会发生故障,此时就会发生故障的蔓延,最终导致系统瘫痪。Hystrix实现了断路器模式,当某个服务发生故障时,通过断路器的监控,给调用方返回一个错误响应,而不是长时间的等待,这样就不会使得调用方由于长时间得不到响应而占用线程,从而防止故障的蔓延。Hystrix具备服务降级、服务熔断、线程隔离、请求缓存、请求合并及服务监控等强大功能。#原创 2022-09-20 15:35:44 · 205 阅读 · 0 评论 -
Spring Cloud组件之 Spring Cloud Ribbon:负载均衡的服务调用
在微服务架构中,很多服务都会部署多个,其他服务去调用该服务的时候,如何保证负载均衡是个不得不去考虑的问题。负载均衡可以增加系统的可用性和扩展性,当我们使用RestTemplate来调用其他服务时,Ribbon可以很方便的实现负载均衡功能。原创 2022-09-20 15:30:03 · 158 阅读 · 0 评论 -
Spring-Cloud 组件之 Spring Cloud Eureka:服务注册与发现
在微服务架构中往往会有一个注册中心,每个微服务都会向注册中心去注册自己的地址及端口信息,注册中心维护着服务名称与服务实例的对应关系。每个微服务都会定时从注册中心获取服务列表,同时汇报自己的运行情况,这样当有的服务需要调用其他服务时,就可以从自己获取到的服务列表中获取实例地址进行调用,Eureka实现了这套服务注册与发现机制。原创 2022-09-20 15:25:48 · 234 阅读 · 0 评论 -
SpringCloud整体架构概览
构建分布式系统不应该是复杂的,SpringCloud对常见的分布式系统模式提供了简单易用的编程模型,帮助开发者构建弹性、可靠、协调的应用程序。SpringCloud是在SpringBoot的基础上构建的,使开发者可以轻松入门并快速提高工作效率。SpringCloud为开发人员提供了快速构建分布式系统架构的工具,例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态等。翻译 2022-09-20 15:20:16 · 147 阅读 · 0 评论 -
理解Java的三大特性之多态
面向对象编程有三大特性:封装、继承、多态。封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据。对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法。继承是为了重用父类代码。两个类若存在IS-A的关系就可以使用继承。,同时继承也为实现多态做了铺垫。那么什么是多态呢?多态的实现机制又是什么?转载 2022-09-08 15:22:49 · 126 阅读 · 0 评论 -
Java多线程之Callable和Future
假设有一个很耗时的返回值需要计算,并且这个返回值不是立刻需要的话,那么就可以使用这个组合,用另一个线程去计算返回值,而当前线程在使用这个返回值之前可以做其它的操作,等到需要这个返回值时,再通过Future得到,岂不美哉!而用方法2,必须等第一个文件下载结束后,才会获得其他文件的下载结果。代码是不是简化了很多,ExecutorService继承自Executor,它的目的是为我们管理Thread对象,从而简化并发编程,Executor使我们无需显示的去管理线程的生命周期,是JDK 5之后启动任务的首选方式。转载 2022-09-08 15:17:13 · 377 阅读 · 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 · 174 阅读 · 0 评论 -
Java NIO:浅析I/O模型
本文先从同步和异步的概念 说起,然后接着阐述了阻塞和非阻塞的区别,接着介绍了阻塞IO和非阻塞IO的区别,然后介绍了同步IO和异步IO的区别,接下来介绍了5种IO模型,最后介绍了两种和高性能IO设计相关的设计模式(Reactor和Proactor)。转载 2022-09-08 15:04:33 · 142 阅读 · 0 评论 -
Maven 三种archetype说明合集【转载】
Archetype 是一个 Maven 项目模板工具包。原型被定义为原始模式或模型,从中创建所有其他相同类型的东西。这些名称适合我们尝试提供一个系统,该系统提供生成Maven项目的一致方法。Archetype 将帮助作者为用户创建 Maven 项目模板,并为用户提供生成这些项目模板的参数化版本的方法。使用archetype构建项目,不用让我们在添加各种pom文件或者copy代码。构建项目骨架简单迅速。玩的开心!......转载 2022-08-17 16:03:33 · 5459 阅读 · 1 评论 -
How to install Django-Install Python Django | Django 安装指南【官方版】
How to install Django¶This document will get you up and running with Django.Install Python¶Django is a Python web framework. SeeWhat Python version can I use with Django?for details.Get the latest version of Python atDownload Python | Python.org...翻译 2022-04-28 11:55:14 · 305 阅读 · 0 评论 -
CentOS 9 Basic Developing environment and IDEs installing guide
I . Install Google Chrome browsercd ~/Downloadsyum -y updatewget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpmyum -y install google-chrome-stable_current_x86_64.rpm# to backup the oraginal Google Chrome quick start icon原创 2022-04-21 17:52:29 · 210 阅读 · 0 评论 -
Python 爬虫进阶五之多线程的用法
Python 爬虫进阶五之多线程的用法作者崔庆才发表于2016-11-03分类于Python阅读次数:60553本文字数:7.5k阅读时长 ≈7 分钟前言我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理。 首先声明一点! 多线程和多进程是不一样的!一个是 thread 库,一个是 multiprocessing 库。而多线程 thread 在 Python 里面被称作鸡肋的存...转载 2022-03-22 15:51:24 · 196 阅读 · 0 评论 -
Weblogic、Tomcat、Apache、Nginx等web容器学习笔记
1、weblogicweblogic是美国Oracle公司的一款产品,是一个基于JAVAEE架构的中间件。是用于开发、集成、部署 、管理大型分布式Web应用、网络应用、数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。安装、部署详细步骤:https://blog.csdn.net/qq_36868342/article/details/799676062、Tomcat (免费)Tomcat 服务器是一原创 2022-01-20 16:08:35 · 1747 阅读 · 0 评论 -
总结:Apache/Tomcat/JBOSS/Jetty/Nginx之区别和联系
总结:Apache/Tomcat/JBOSS/Jetty/Nginx之区别和联系总结:Apache/Tomcat/JBOSS/Nginx区别 .1、Apache是Web服务器,Tomcat是应用(Java)服务器。Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用。Apache支持静态页,Tomcat支持动态的。2、Jetty:Tomcat内核作为其Servlet容器引擎,并加以审核和调优.大中型系统可以应用。能够提供数据库连接池服务,还支持其他 Web 技术的集成,譬如PHP、.N.原创 2022-01-20 16:05:59 · 1047 阅读 · 0 评论 -
推荐几款Vue后台管理系统的框架,以便备用
推荐几款Vue后台管理系统的框架,以便备用Vue.js 是一个目前比较流行的前端框架,在业界也算很有名气,今天这里为大家罗列一下基于Vue的后端管理的框架。使用这些框架你会发现它包括了我们常用的路由,状态,交互等等,我们只需要去复用它的代码,加上一下我们自己少量的逻辑就能轻松的完成项目。会为你节约更多时间喝喝咖啡等,给你一种“框架在手,天下我有”的感觉。这篇文章主要介绍element和Vue Admin。1、elementElement UI 是一套采用 Vue 2.0 作为基础框架转载 2021-09-04 17:33:41 · 12541 阅读 · 0 评论 -
【7】SpringBoot是什么?SpringBoot的优缺点有哪些?
随着动态语言的流行(Ruby、Groovy、Scala、Node.js),Java的开发显得格外的笨重,繁多的配置、低下的开发效率、复杂的部署流程以及第三方技术集成难度大。在上述环境下,SpringBoot 应运而生。它使用“习惯优于配置”(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)的理念让你的项目快速运行起来。使用 Spring Boot 很容易创建一个独立运行(运行 jar,内嵌Servlet容器)、准生产级别的基于 Spring 框架的项目,使用 Spring...原创 2021-07-27 13:29:39 · 272 阅读 · 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 · 119 阅读 · 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 · 87 阅读 · 0 评论 -
【03】实现微服务会带来哪些挑战?
微服务给我们带来的并非只有好处,还有相应的一些挑战。服务“微”化之后,一个显著的特点就是服务的数量增多了。如果将软件开发和交付也作为一种生产模式看待,那么数量众多的微服务实际上就类似于传统生产线上的产品,而在传统生产模型下,为了能够高效地生产大量产品,通常采用的就是标准化生产。比如在汽车产业,在福特 T 型车没有出来之前,大多汽车企业的生产效率都不高,而福特在引入标准化生产线之后,福特 T 型车得以大量生产并以低成本优势快速普及。在其他行业也是同样的道理,个性化生产虽然会深得个别用户的喜欢,但生产成本原创 2021-07-27 11:11:50 · 122 阅读 · 0 评论 -
【02】微服务的好处(优点)有哪些?
显然,随着系统复杂度的提升,以及对系统扩展性的要求越来越高,微服务化是一个很好的方向,但除此之外,微服务还会给我们带来哪些好处?独立,独立,还是独立我们说微服务打响的是各自的独立战争,所以,每一个微服务都是一个小王国,这些微服务跳出了“大一统”(Monolith)王国的统治,开始从各个层面打造自己的独立能力,从而保障自己的小王国可以持续稳固的运转。首先,在开发层面,每个微服务基本上都是各自独立的项目(project),而对应各自独立项目的研发团队基本上也是独立对应,这样的结构保证了微服务的并行研发原创 2021-07-27 11:09:18 · 405 阅读 · 0 评论 -
【01】微服务(Microservice)是什么?为什么会出现微服务?
微服务(Microservice)虽然是当下刚兴起的比较流行的新名词,但本质上来说,微服务并非什么新的概念。实际上,很多 SOA(面向服务的架构)实施成熟度比较好的企业,已经在使用和实施微服务了。只不过,它们只是在闷声发大财,并不介意是否有一个比较时髦的名词来明确表述 SOA 的这个发展演化趋势罢了。微服务其实就是服务化思路的一种最佳实践方向,遵循 SOA 的思路,各个企业在服务化治理的道路上走的时间长了,踩的坑多了,整个软件交付链路上各个环节的基础设施逐渐成熟了,微服务自然而然就诞生了。当然,之所以原创 2021-07-27 11:04:42 · 343 阅读 · 0 评论 -
基于openstack安装部署私有云详细图文教程
本文主要分享的是云计算、openstack的使用、私有云平台建设、云服务器云硬盘的构建和使用。从基本概念入手到私有云建设,信息量非常大。对于openstack的安装部署都是从官方文档中一步步的介绍,内容非常详细。一、云计算 基本概念云计算(cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是网络、互联网的一种比喻说法。过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。因此,云计算甚至可...转载 2021-05-02 00:13:55 · 9540 阅读 · 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 · 266 阅读 · 0 评论 -
台湾大学硕士要求
台湾大学硕士要求<br />转自:http://handsomeyzg.blog.163.com/blog/static/111279220073811430421/<br /><br />默认分类2007-04-08 11:43:00阅读140评论0 字号:大中小 订阅贰、论文的要求 <br /><br />我对硕士论文的基本要求是:(1)论文的主要内容,是叙述一套方法在一个特定 场合中的应用。(2)这套方法必须要有所创新或突破,并因而对学术界有所贡献。因此,它或者是解决既有问题的新转载 2010-12-17 12:11:00 · 1931 阅读 · 0 评论