首页 文章 精选 留言 我的

精选列表

搜索[异步方法],共10000篇文章
优秀的个人博客,低调大师

重磅消息:Dromara团队正式开源高性能异步API网关-Soul

微服务为什么需要网关? 微服务的流行,服务之间的调用,需要统一的请求标准。 微服务接口,需要监控,限流,熔断,等等。 微服务接口需要统一的鉴权。 接口问题定位 A/B test等等。太多功能了,就不一一列举了。 Soul是什么? soul 是一款高性能,响应式的网关。我在参考Kong 的插件设计思想,高性能的webflux后,开发而来。 官网 : https://dromara.org 如果打不开,改成http即可. github地址 :https://github.com/Dromara/soul gitee地址: https://gitee.com/shuaiqiyu/soul Soul架构设计 执行流程图 Soul功能: 支持各种语言,无缝集成Dubbo,SpringCloud,以及http服务。 丰富的插件支持,监控,鉴权,限流,熔断,代理,防火墙等等。 网关多种规则动态配置,支持各种策略配置。 插件热插拔,易扩展。 支持集群部署,支持A/B Test。 当然也有很多其他的功能,就不一一说了。 Soul 最大的亮点? 插件的热插拔,规则的动态配置。举个列子,比如一个接口你限流是1秒50次,但是你想调小点,像Springcloud-gateway 或者zuul 是不是还得改动配置 然后重启。 soul则不需要,直接在soul-admin找到对应的接口修改即可. soul提供了比较丰富的插件功能,插件与插件规则,选择器,用户可以自由定义 不想用就停用或者删除就行。想用就开启或者新增。 soul 是基于webflux的, 依赖rxJava ,其实高性能的,响应式的网关。 soul 提供了dubbo ,springcloud rpc框架的支持。 Soul适合人群 是适合所有的微服务系统。 后端是java,使用了一些rpc框架(dubbo,springcloud), 然后前端或者其他系统是 .net php 然后需要对接? 然后你问java 后端开发者,dubbo接口怎么调用? java 狗肯定不愿意给你提供http接口,或者直接回一句,你去找领导吧? 这个时候,你只需要告诉它,使用soul,你后端代码一句都不要动,只需要告诉我你zookeeper的地址就好! 当然也适合一些其他语言的系统,或者是老系统。 只要你是http服务就行,soul会进行代理请求调用。 Soul性能 soul 天然支持集群部署,底层采用webflux。 soul 所有的配置走的都是本地缓存。 双11,我们的高峰单台QPS 1W左右。 Soul VS java体系的Zuul,springcloud-gateway 性能上来说,soul和sc-gateway 都采用webflux,性能相当 sc-gateway 或者zuul 基于配置的,接口很多很难集成,而且配置规则不是动态化的。 soul是插件化的思想,插件热插拔,配置灵活并且是动态化的。 soul还可以用来排除问题,A/B test。 soul提供了监控插件来统计qps等等信息。 soul提供了waf,sign插件,来阻止外来攻击 soul vs kong kong 也是非常优秀的框架,但是其实lua语言,开发维护成本高,但是soul完全是java,所以javaer你懂的。 篇幅原因,此文只是一个简单介绍,Soul有很大的价值,喜欢的朋友可以去官网详细介绍。也欢迎大家进行star 和fork

优秀的个人博客,低调大师

Flink SQL 功能解密系列 —— 维表 JOIN 与异步优化

引子 流计算中一个常见的需求就是为数据流补齐字段。因为数据采集端采集到的数据往往比较有限,在做数据分析之前,就要先将所需的维度信息补全。比如采集到的交易日志中只记录了商品 id,但是在做业务时需要根据店铺维度或者行业纬度进行聚合,这就需要先将交易日志与商品维表进行关联,补全所需的维度信息。这里所说的维表与数据仓库中的概念类似,是维度属性的集合,比如商品维,地点维,用户维等等。 在流计算中,这是一个典型的 stream-to-table jon 的问题。本文主要讲解在 Flink SQL 中是如何解决这个问题的,用户如何简单上手使用这个功能。 维表 JOIN 语法 由于维表是一张不断变化的表(静态表只是动态表的一种特例)。那如何 JOIN 一张不断变化的表呢?如果用传统的 JOIN 语法SELECT * FROM T JOIN dim_ta

优秀的个人博客,低调大师

实操python3.6当中的异步IO( asyncio) 协程

我们的自动化部署平台升级到django2+python3了, 并发方面的知识点,也跟进一下啦。 http://python.jobbole.com/87310/ 这篇讲得挺入门的~~ 实操一下。 import time import asyncio import functools now = lambda : time.time() async def do_some_work(x): print('Waiting: ', x) await asyncio.sleep(x) return 'Done after {}s'.format(x) def callback(t, future): print('Callback: ', t, future.result()) start = now() coroutine1 = do_some_work(1) coroutine2 = do_some_work(2) coroutine4 = do_some_work(4) tasks = [ asyncio.ensure_future(coroutine1), asyncio.ensure_future(coroutine2), asyncio.ensure_future(coroutine4), ] loop =asyncio.get_event_loop() for task in tasks: task.add_done_callback(functools.partial(callback, 2)) loop.run_until_complete(asyncio.wait(tasks)) for task in tasks: task.add_done_callback(functools.partial(callback, 2)) print('Task return: {}'.format(task.result())) print('TIME: ', now() - start)

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册