-
go-kit实践之4:go-kit微服务熔断机制的实现
在微服务架构中,每一个微服务都是一个独立的业务功能单元,而一个应用一般由多个微服务组成,微服务之间的交互是通过RPC(远程过程调用)完成。 比如,我们的应用是微服务A调用微服务B和微服务C来完成的,而微服务B又需要调用微服务D,微服务D又需要调用微服务E。如果在调用的链路上对微服务E的调用,响应时间过长或者服务不可用,那么对微服务D的调用就会占用越来越多的系统资源,进而引起微服务D的系统崩溃,微服…- 16
- 0
-
Springcloud微服务项目——人力资源管理(HRM)Day05 fastjson & Redis缓存
今日任务 文章目录 课程类型的优化 无限极树的优化 课程类型的缓存 常见的缓存实现方案: 缓存的工作原理图 数据存储-json(转换) Fastjson 缓存和项目集成 与Redis的集成 与Redis的交互部分 * 测试: 把服务通过client暴露出去 课程类型调用client 代码实现: 题外话 课程类型的优化 无限极树的优化 之前我们做无限极树用的是递归 但是这样每次都要去访问一次数据库 …- 18
- 0
-
SpringCloud微服务知识整理三:服务治理 Spring Cloud Eureka
什么是Spring Cloud Eureka Spring Cloud Eureka是Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能。Spring Cloud 通过为Eureka增加了Spring Boot风格的自动化配置,我们只需通过引入依赖和注解配置就能让Spring Boot构建的微服务应…- 15
- 0
-
Springcloud微服务项目——人力资源管理(HRM)Day01 项目的搭建
声明:此项目是本人为了学习而记录下来的 并不适用于每个人 如果有不懂得地方可以私信或者留言 最后祝大家敲代码永无BUG! 文章目录 项目背景 功能模块 项目技术架构 技术架构 技术栈 前台技术 * 后台架构 后端项目微服务原型搭建 搭建一个顶级父类 hrm_parent 搭建springcloud微服务支持模块 hrm_support_parent 搭建Eureka注册中心 hrm-eureka-…- 3
- 0
-
微服务架构核心(二)- 微服务的利与弊
不知道你有没有这样的感受,新系统在前期调研架构的时候,大家都希望优先选择微服务架构,好像一个系统不是微服务架构就OUT了一样。 但是真正的架构设计,并不是哪个架构流行就选哪个,那是要遵循简单、合适、扩展的原则。 所以在选择微服务架构之前,我们应该仔细衡量它的利与弊,分析微服务架构究竟能为系统带来什么优势,同时又会新增哪些挑战。 利 强模块化边界 模块化一直是软件设计中的一个重要原则,有了模块化,我…- 10
- 0
-
ASP.NET Core微服务之开源事件总线CAP的初步使用
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、CAP简介 *下面的文字来自CAP的Wiki文档:*https://github.com/dotnetcore/CAP/wiki CAP 是一个在分布式系统中(SOA,MicroService)实现事件总线及最终一致性(分布式事务)的一个开源的 C# 库,她具有轻量级,高性能,易使用等特点。我们可以轻松的在基于 .NET Core …- 35
- 0
-
ASP.NET Core微服务之服务间的调用方式(REST and RPC)
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、REST or RPC ? 1.1 REST & RPC 微服务之间的接口调用通常包含两个部分,序列化和通信协议。常见的序列化协议包括json、xml、hession、protobuf、thrift、text、bytes等;通信比较流行的是http、soap、websockect,RPC通常基于TCP实现,常用框架例如dub…- 0
- 0
-
Openstack+Kubernetes+Docker微服务实践之路–RPC
重点来了,本文全面阐述一下我们的RPC是怎么实现并如何使用的,跟Kubernetes和Openstack怎么结合。 在选型一文中说到我们选定的RPC框架是Apache Thrift,它的用法是在Main方法中重启服务,在Client端连接服务去调用, 而我的想法是要跟Dubblo、HSF的用法一样,因为很多人都熟习这两个框架的用法,特别是我们好几个项目都是基于EDAS开发的,而且世面上用Dubb…- 3
- 0
-
Spring Cloud构建微服务架构:服务容错保护(Hystrix服务降级)【Dalston版】
前言 在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,线程资源无法释放,最终导致自身服务的瘫痪…- 2
- 0
-
SpringCloud之Feign–负载均衡(二)
一、Fegin的概述 Feign是一个声明式的web服务客户端,使得编写web服务客户端变得非常容易,只需要创建一个接口,然后在上面添加注解即可。 二、Feign与Ribbon的区别 1.Ribbon:可以使用微服务名字调用,并且可以自定义算法。 2.Feign:可以通过接口+注解的方式调用微服务,简化了Ribbon使自动封装服务调用客户端的开发量, 并且Feign自带负载均衡配置项 。 …- 6
- 0
-
负载均衡、DNS、F5、反向代理、LVS、四层与七层、CDN
1.负载均衡 负载均衡:将负载(大量请求)均匀的、平衡的分摊到多个服务节点上进行处理。 实现负载均衡有很多种手段,例如:DNS、硬件负载均衡设备、Nginx反向代理、LVS。 1.1.DNS DNS:Domain Name System,域名系统,更加专业的名字为域名解析系统。 域名解析系统部署在DNS服务器上,提供域名解析服务。 简单来说,域名解析就是将一个域名解析成多个ip地址。 如下图是通过…- 410
- 0
-
IIS负载均衡-Application Request Route详解第一篇: ARR介绍
说到负载均衡,相信大家已经不再陌生了,本系列主要介绍在IIS 中可以采用的负载均衡的软件:微软的Application Request Route 模块。 其实Application RequestRoute 已经有很多文章介绍过了,但是有很多的文档都是英文的,笔者在项目中,曾经为了使用和测试Application Request Route ,将有关的文档已经转为中文,在组员之间传阅,本系列在这…- 20
- 0
-
大容量网络游戏整体架构
这篇文章也是我在学习DX9游戏制作程序调试不过去的时候郁闷之极写的,也受了一篇文章的启发。文章的名字也是临时想的可能不转业,肯定地不转业多多指教阿。 开始正文,首先大家想一想现在的网络游戏单服务器集群的容量是多少?也就4~6k人,而一个场景内有能容纳多少呢?不多,所以我在想,其实也不是现在想拉,早先给学生上课时曾给学生讲过但是那不成熟,呵呵现在也是不成熟。四项跳跃性比较大大家多多包…- 7
- 0
-
Apache+Tomcat负载均衡两种session共享方式的设置
**原文地址:**Apache+Tomcat负载均衡两种session共享方式的设置 **作者:**梦回两千载 session共享有两种方式: 1、session共享,多个服务器session拷贝保存,一台宕机不会影响用户的登录状态; 2、请求精确集中定位,即当前用户的请求都集中定位到一台服务器中,这样单台服务器保存了用户的session登录信息,如果宕机,则等同于单点部署,会丢失; apache…- 0
- 0
-
Spark性能优化的10大问题及其解决方案
Spark性能优化的10大问题及其解决方案 问题1:reduce task数目不合适 解决方式: 需根据实际情况调节默认配置,调整方式是修改参数spark.default.parallelism。通常,reduce数目设置为core数目的2到3倍。数量太大,造成很多小任务,增加启动任务的开销;数目太少,任务运行缓慢。 问题2:shuffle磁盘IO时间长 解决方式: 设置spark.local.d…- 13
- 0
-
Haproxy负载均衡
实验一:Haproxy负载均衡 1.实验环境 一台Haproxy:192.168.8.137 两台httpd:192.168.8.131,192.168.8.140 2.主机Haproxy上 [root@xss ~]# cd /etc/yum.repos.d/ [root@xss yum.repos.d]# mkdir bak [root@xss yum.repos.d]# mv *.repo b…- 25
- 0
-
JAVA垃圾回收算法
Java基础:JVM垃圾回收算法 众所周知,Java的垃圾回收是不需要程序员去手动操控的,而是由JVM去完成。本文介绍JVM进行垃圾回收的各种算法。 如何确定某个对象是垃圾 1.1. 引用计数法 1.2. 可达性分析 典型的垃圾回收算法 2.1. 标记-清除算法(Mark-Sweep) 2.2. 复制算法(Copying) 2.3. 标记-整理算法(Mark-Compact) 2.4. 分代收集算…- 5
- 0
-
Nginx+Tomcat搭建高性能负载均衡集群
一 、 目标 实现高性能负载均衡的Tomcat集群: 二 、 步骤 1、首先下载Nginx,要下载稳定版: 2、然后解压两个Tomcat,分别命名为apache-tomcat-6.0.33-1和apache-tomcat-6.0.33-2: 3、然后修改这两个Tomcat的启动端口,分别为18080和28080,下面以修改第一台Tomcat为例,打开Tomcat的conf目录下的ser…- 6
- 0
-
Dijkstra算法
最短路径是图论中一个很经典的问题:给定图G(V,E),求一条从起点到终点的路径,使得这条路径上经过的所有边的边权之和最小。 对任意给出的图G(V,E)和起点S、终点T,如何求从S到T的最短路径。解决最短路径问题的常用算法有Dijkstra算法、Bellman-Ford算法、SPEA算法和Floyd算法。 1.Dijkstra算法 Dijkstra算法(读者可以将其读作“迪杰斯特拉算法”)用来解…- 17
- 0
-
Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
对所有用户有效在/etc/profile增加以下内容。只对当前用户有效在Home目录下的 .bashrc或.bash_profile里增加下面的内容: (注意:等号前面不要加空格,否则可能出现 command not found) 在PATH中找到可执行文件程序的路径。 export PATH =$PATH:$HOME/bin gcc找到头文件的路径 C_INCLUDE_PATH=/usr/inc…- 67
- 0
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!