当前页共 15 篇文章
2022-04-06
【第二章】Flink 入门程序 WordCount 和 SQL 实现 本章节我们主要介绍 Flink 的入门程序以及 SQL 形式的实现。 上一章节已经讲解了 Flink 的常用应用场景和架构模型设计,这一课时我们将会从一个最简单的 WordCount 案例作为切入点,并且同时使用 SQL 方式进行实现,为后面的实战课程打好基础。 我们首先会从环境搭建入手,介绍如何搭建本地调试环境的脚手架;然后分别从DataSet(批处理)和 DataStream(流处理)两种方式如何进行单词计数开发;最后介绍 Flink Table 和 SQL 的使用。 Flink 开发环境 通常来讲,任何一门大数据框架在实际生产环境中都是以集群的形式运行,而我们调试代码大多数会在本地搭建一
  • 诗与远方
  • 2022年04月06日
  • 507 阅读
  • 0 评论
Flink
2022-04-06
【第一章】Flink 的应用场景和架构模型 本章节我们主要介绍 Flink 的应用场景和架构模型。 实时计算最好的时代 在过去的十年里,面向数据时代的实时计算技术接踵而至。从我们最初认识的 Storm,再到 Spark 的异军突起,迅速占领了整个实时计算领域。直到 2019 年 1 月底,阿里巴巴内部版本 Flink 正式开源!一石激起千层浪,Flink 开源的消息立刻刷爆朋友圈,整个大数据计算领域一直以来由 Spark 独领风骚,瞬间成为两强争霸的时代。 Apache Flink(以下简称 Flink)以其先进的设计理念、强大的计算能力备受关注,如何将 Flink 快速应用在生产环境中,更好的与现有的大数据生态技术完美结合,充分挖掘数
  • 诗与远方
  • 2022年04月06日
  • 447 阅读
  • 0 评论
Flink
2022-04-06
Spring Cloud Bus Spring Cloud Bus Spring Cloud Bus 通过轻量级的消息代理连接各个微服务,可以用来广播配置文件的更改,或者管理服务监控。安装 RabbitMQ。Docker 中 RabbitMQ 安装命令: docker run -d --hostname my-rabbit --name some-rabbit -p 15672:15672 5672:5672 rabbitmq:3-management 首先给 config-server 和 config-client 分别加上 Spring Cloud Bus 依赖。 <dependency>    <
  • 诗与远方
  • 2022年04月06日
  • 403 阅读
  • 0 评论
SpringCloud
2022-04-06
Spring Cloud Config 基本用法 分布式配置中心解决方案: 国内: 360:QConf 淘宝:diamond 百度:disconf 阿里: Nacos 国外: Apache Commons Configuration owner cfg4j 简介 Spring Cloud Config 是一个分布式系统配置管理的解决方案,它包含了 Client 和 Server 。配置文件放在 Server 端,通过 接口的形式提供给 Client。Spring Cloud Config 主要功能: 集中管理各个环境、各个微服务的配置文件 提供服务端和客户端支持 配置文件修改后,可以快速生效 配置文件通过 Git/SVn
  • 诗与远方
  • 2022年04月06日
  • 515 阅读
  • 0 评论
SpringCloud
2022-04-06
Spring Cloud Gateway 简介 特点: 限流 路径重写 动态路由 集成 Spring Cloud DiscoveryClient 集成 Hystrix 断路器和 Zuul 对比: Zuul 是 Netflix 公司的开源产品,Spring Cloud Gateway 是 Spring 家族中的产品,可以和Spring 家族中的其他组件更好的融合。 Zuul 不支持长连接,例如 websocket。 3. Spring Cloud Gateway 支持限流。 Spring Cloud Gateway 基于 Netty 来开发,实现了异步和非阻塞,占用资源更小,性能强于Zuul。 基本用法 Spring Cloud
  • 诗与远方
  • 2022年04月06日
  • 468 阅读
  • 0 评论
SpringCloud
2022-04-02
SpringCloud之 Zuul服务网关 服务网关 Zuul 和 Gateway由于每一个微服务的地址都有可能发生变化,无法直接对外公布这些服务地址,基于安全以及高内聚低耦合等设计,我们有必要将内部系统和外部系统做一个切割。一个专门用来处理外部请求的组件,就是服务网关。 权限问题统一处理 数据剪裁和聚合 简化客户端的调用 可以针对不同的客户端提供不同的网关支持 Spring Cloud 中,网关主要有两种实现方案: Zuul Spring Cloud Gateway Zuul Zuul 是 Netflix 公司提供的网关服务。Zuul 的功能: 权限控制,可以做认证和授权 监控 动态路由 负载均衡 静态资源处理Zuul 中的
  • 诗与远方
  • 2022年04月02日
  • 433 阅读
  • 0 评论
SpringCloud
2022-04-02
Resilience4j 简介 Resilience4j 是 Spring Cloud Greenwich 版推荐的容错解决方案,相比 Hystrix,Resilience4j 专为Java8 以及函数式编程而设计。Resilience4j 主要提供了如下功能: 断路器 限流 基于信号量的隔离 缓存 限时 请求重试 基本用法 首先搭建一个简单的测试环境。 <dependency>    <groupId>junit</groupId>    <artifactId>junit</artifactId>    <version>4.12&l
  • 诗与远方
  • 2022年04月02日
  • 387 阅读
  • 0 评论
SpringCloud
2022-04-02
垃圾收集器 1. 概述 垃圾收集(Garbage Collection ,GC) 的历史比 Java 久远,GC 需要思考的 3 件事情: 哪些内存需要回收 什么时候回收 如何回收 垃圾收集器关注的是 Java 堆中的内存,后续讨论的内存分配与回收也指这部分内存 2. 判断一个对象是否可被回收 垃圾收集器在对堆进行回收之前,第一件事情就是要确定这些对象之中哪些还存活,哪些已经死亡(即不可能被任何途径使用的对象) ① 引用计数算法 💘 先放出结论,Java 虚拟机并不使用引用计数算法 ✍ 引用计数算法(Reference Counting) :为对象添加一个引用计数器,当对象增加一个引用时计数器加 1
  • 诗与远方
  • 2022年04月02日
  • 312 阅读
  • 0 评论
JAVA
2022-04-02
Java 内存区域与内存溢出异常 Java 内存区域与内存溢出异常 1. 概述 JVM 是 Java Virtual Machine 的缩写,它是一个虚构出来的计算机,一种规范。通过在实际的计算机上仿真模拟各类计算机功能实现··· 通俗来说 JVM 其实就类似于一台小电脑运行在 windows 或者 linux 这些操作系统环境下。它直接和操作系统进行交互,与硬件不直接交互,由操作系统帮我们完成和硬件进行交互的工作。 对于 C、C++ 来说,开发人员既拥有每一个对象的所有权,又担负着每一个对象生命开始到终结的维护责任。 对于 Java 来说,在虚拟机自动内存管理机制的帮助下,不再需要为每一个 new 操作去写相应的 del
  • 诗与远方
  • 2022年04月02日
  • 363 阅读
  • 0 评论
JAVA
2022-04-02
SpringCloud之OpenFeign 教程 1. OpenFeign 前面无论是基本调用,还是 Hystrix,我们实际上都是通过手动调用 RestTemplate 来实现远程调用的。使用 RestTemplate 存在一个问题:繁琐,每一个请求,参数不同,请求地址不同,返回数据类型不同,其他都是一样的,所以我们希望能够对请求进行简化。我们希望对请求进行简化,简化方案就是 OpenFeign。一开始这个组件不叫这个名字,一开始就叫 Feign,Netflix Feign,但是 Netflix 中的组件现在已经停止开源工作,OpenFeign 是 Spring Cloud 团队在 Netflix Feign 的基础上开发出来的声明式服务调
  • 诗与远方
  • 2022年04月02日
  • 511 阅读
  • 0 评论
SpringCloud
2022-04-02
SpringCloud之Hystrix教程 1. 基本介绍 Hystrix 叫做断路器/熔断器。微服务系统中,整个系统出错的概率非常高,因为在微服务系统中,涉及到的模块太多了,每一个模块出错,都有可能导致整个服务出,当所有模块都稳定运行时,整个服务才算是稳定运行。 我们希望当整个系统中,某一个模块无法正常工作时,能够通过我们提前配置的一些东西,来使得整个系统正常运行,即单个模块出问题,不影响整个系统。 2. 基本用法 首先创建一个新的 SpringBoot 模块,然后添加依赖: 项目创建成功后,添加如下配置,将 Hystrix 注册到 Eureka 上: spring.application.name=hystrix server.po
  • 诗与远方
  • 2022年04月02日
  • 419 阅读
  • 0 评论
SpringCloud
2022-04-02
springcloud 之consul教程使用 Consul 在 Spring Cloud 中,大部分组件都有备选方案,例如注册中心,除了常见 Eureka 之外,像zookeeper 我们也可以直接使用在 Spring Cloud 中,还有另外一个比较重要的方案,就是 Consul。Consul 是 HashiCorp 公司推出来的开源产品。主要提供了:服务发现、服务隔离、服务配置等功能。相比于 Eureka 和 zookeeper,Consul 配置更加一站式,因为它内置了很多微服务常见的需求:服务发现与注册、分布式一致性协议实现、健康检查、键值对存储、多数据中心等,我们不再需要借助第三方组件来实现这些功能。 1. 安装 不同于 Eur
  • 诗与远方
  • 2022年04月02日
  • 378 阅读
  • 0 评论
SpringCloud
2022-04-01
服务注册 1. 服务注册 服务注册就是把一个微服务注册到 Eureka Server上,这样,当其他服务需要调用该服务时,只需要从Eureka Server上查询该服务的信息即可。
这里我们创建一个provider,作为我们的服务提供者,创建项目时,选择 Eureka Client 依赖,这样,当服务创建成功后,简单配置一下,就可以被注册到 Eureka Server上了∶ 项目创建成功后,我们只需要在 application.properties中配置一下项目的注册地址即可。注册地址的配置,和 Eureka Server集群的配置很像。配置如下∶
 spring.application.name=p
  • 诗与远方
  • 2022年04月01日
  • 347 阅读
  • 0 评论
SpringCloud
2022-04-01
SpringCloud 之 Eureka 注册中心 1.注册中心 Eureka是 Spring Cloud中的注册中心,类似于Dubbo中的Zookeeper。那么到底什么是注册中心,我们为什么需要注册中心?我们首先来看一个传统的单体应用∶ 在单体应用中,所有的业务都集中在一个项目中,当用户从浏览器发起请求时,直接由前端发起请求给后端,后端调用业务逻辑,给前端请求做出响应,完成一次调用。整个调用过程是一条直线,不需要服务之间的中转,所以没有必要引入注册中心。 随着公司项目越来越大,我们会将系统进行拆分,例如一个电商项目,可以拆分为订单模块、物流模块、支付模块、CMS模块等等。这样,当用户发起请求时,就需要各个模块之间进行协作,这样不可避免的要
  • 诗与远方
  • 2022年04月01日
  • 386 阅读
  • 0 评论
SpringCloud
2022-04-01
微服务介绍 微服务架构越来越流行,这个没有异议。2009 年,Netflix 重新定义了它的应用程序员的开发模型,这个算是微服务的首次探索。20014 年,《Microservices》,这篇文章以一个更加通俗易懂的方式,为大家定义了微服务。为什么要用微服务?互联网应用产品的两大特点: 需求变化快 用户群体庞大 在这样的情况下,我们需要构建一个能够灵活扩展,同时能够快速应对外部环境变化的一个应用,使用 传统的开发方式,显然无法满足需求。这个时候,微服务就登场了。 1.什么是微服务 简单来说,微服务就是一种将一个单一应用程序拆分为一组小型服务的方法,拆分完成后,每一个服务 都运行在独立的进程中
  • 诗与远方
  • 2022年04月01日
  • 371 阅读
  • 0 评论
JAVA