首页 文章 精选 留言 我的

精选列表

搜索[orm框架],共10000篇文章
优秀的个人博客,低调大师

gRPC 1.36.0 发布,高性能 RPC 框架

gRPC 1.36.0 版本已发布。详细的 gRPC 文档请参阅grpc.io,此版本包含一些改进和错误修复,下面列出了本次更新的一些重点内容: Core 删除在 c-ares DNS 解析器中设置的不必要的 pollset set。(#25296) 修复zlib + macOS 中的隐式声明错误。(#24979) 支持 Tls Credentials 中的 Default Root Certs。(#25018) C++ 将第三方身份 C++ api 从实验性命名空间移出。(#25379) refactor!:将 error_details 函数更改为 templates。(#25196) 支持 ServerContext for callback API。(#25175) C# [Backport] [C#] 尽可能使用 explicit native extension loading。(#25506) PHP PHP:支持 PSM security。(#25303) PHP:修复了重用调用对象上的 segfault。(#25245) PHP:修复了 phpunit 8 warnings。(#25019) Python 实现 Python Client和 ServerxDS Creds。(#25365) Ruby 删除对 Ruby 2.3 的支持。(#25201) 更新说明:https://github.com/grpc/grpc/releases/tag/v1.36.0

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

gRPC 1.35.0 发布,高性能 RPC 框架

gRPC Core 的 1.35.0 已经发布,详细的 gRPC 文档请参阅grpc.io,此版本包含改进和一些错误修复,下面列出了本次更新的一些重点内容: Core Backport “修复 zlib + macOS 中的隐式声明错误#24979”。 (#25133) xDS 功能文档更新了对大小写不敏感的前缀/完整路径匹配。(#24999) 将 darwin_arm64 和 darwin_arm64e 添加到 c-ares 配置设置中。(#24872) 添加 FileWatcher CertificateProvider。(#24600) 使用环境变量 GRPC_XDS_EXPERIMENTAL_SECURITY_SUPPORT 保护 xds 安全代码。(#24780) C ++ 将 bazel 升级到 3.7.1(整个存储库)。(#25000) Makefile:删除对构建 protobuf、C++ 库和可执行文件的支持。(#24000) C# 修复 Linux 上的 nuget 软件包签名(在非 Windows 上不要使用 PublicSign = true)。(#24980) 删除 C#作为 xDS 功能支持的语言。(#24982) 修复 .NET 5 单文件应用程序中的 C# 原生库加载。(#24744) Python 修复 Mac 上 protoc_compiler.so 中的 libprotobuf 符号的可见性。(#24992) [Aio]更正了 grpc.aio.ServicerContext.abort 的类型注释。(#24946) 将限制并发 RPC 功能添加到 asyncio 服务器。(#24818) [Aio]修复了流式 RPC 中的空响应处理。(#24801) [Backport]在 SingleThreadedRendezvous 中实现 grpc.Future 接口。(#24574) [Backport]使 Python 2 成为 Bazel 构建的可选依赖项。(#24452) Ruby 修复 rb_event_thread.c 中的隐式声明。(#24962) 基于最新的 rake-compiler-dock / manylinux14 映像的 ruby 构建,添加 ruby 3.0 二进制包。(#25070) 添加对 circuit_breaking xds 互操作测试用例的支持。(#25028) 二进制软件包(例如grpc-1.35.0-x86_64-linux.gem): 现在与 ruby 3.0 兼容 现在是基于 manylinux14 构建的(不再支持 CentOS6) 详细更新信息:https://github.com/grpc/grpc/releases/tag/v1.35.0

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

Apache Flink 1.12.1 发布,流处理框架

Apache Flink 1.12 系列的首个 bug 修复版本 1.12.1 已经发布。该版本包含 79 个修复和优化,因此官方强烈建议所有用户都升级到 1.12.1。 Maven 依赖 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artifactId> <version>1.12.1</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.11</artifactId> <version>1.12.1</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-clients_2.11</artifactId> <version>1.12.1</version> </dependency> 注意事项 Apache Flink 1.12.1 的 DockerHub 官方映像暂时丢失。作为替代,这些映像目前放在 Flink PMC 的托管仓库中。这也是目前 Native Kubernetes 部署的默认设置。 Flink PMC 将继续与 DockerHub 团队合作以提供官方映像。 由于项目空间限制,PyPI 上暂时缺少 Apache Flink 1.12.1 的源代码和 python 3.8 linux wheel 软件包。目前,有关增加空间限制的请求正在 PyPI 审核过程中。在这段时间内,用户可以根据需要手动构建软件包。 部分更新内容 Sub-task 添加有关 maxwell-json 格式的文档 重做命令行接口文档页面 重做PyFlink CLI 文档 Bug BlobClientTest.testGetFailsDuringStreamingForJobPermanentBlob 挂起 使用 Class.forName 时加载不同的驱动程序类时出现死锁 由于超时而无法初始化 logger:引发 LoggerInitializationException 修复 ignore-parse-errors 不适用于旧版 JSON 格式 ZooKeeper quorum 因缺少 log4j 库而无法开始 Improvement 日志开始/结束状态恢复 将 “Flink Architecture” 页面翻译成中文 默认情况下启用 log4j2 监视间隔 详情请查看更新公告。

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

Tokio 1.0 发布,Rust 异步编程框架

Tokio 1.0 稳定版本已发布,Tokio 是 Rust 的异步 runtime,可用于编写快速、可靠的网络应用。Tokio 还提供用于 TCP、UDP、计时器、多线程、工作窃取算法(work-stealing)调度等的 API。 Tokio 团队表示,虽然 Tokio 从四年前刚诞生起就一直在不断发展,不过出现真正的显著变化是在一年前,因为 Rust 在当时才正式支持 async/await。 示例代码 使用 Tokio 编写的基本 TCP echo 服务器: use tokio::net::TcpListener; use tokio::io::{AsyncReadExt, AsyncWriteExt}; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let mut listener = TcpListener::bind("127.0.0.1:8080").await?; loop { let (mut socket, _) = listener.accept().await?; tokio::spawn(async move { let mut buf = [0; 1024]; // In a loop, read data from the socket and write the data back. loop { let n = match socket.read(&mut buf).await { // socket closed Ok(n) if n == 0 => return, Ok(n) => n, Err(e) => { eprintln!("failed to read from socket; err = {:?}", e); return; } }; // Write the data back if let Err(e) = socket.write_all(&buf[0..n]).await { eprintln!("failed to write to socket; err = {:?}", e); return; } } }); } } 在发布公告中,Tokio 团队还介绍了 Tokio 的知名用户和案例。例如,Discord通过使用 Tokio 将长尾延迟 (Tail Latency) 降低了 5 倍;Fly.io使用 Tokio 后轻易满足了性能要求;AWS 的Lambda团队也使用 Tokio 实现了更可靠、更灵活的服务。 1.0 作为重要版本更新,Tokio 团队对其稳定性做出了保证,承诺会为 Rust 生态提供稳定的基础设施。Tokio 团队表示目前没有关于 Tokio 2.0 的计划,并承诺至少在 3 年内不发布 Tokio 2.0。他们计划为 1.0 提供至少 5 年的维护支持。 当然,稳定并不意味着 Tokio 停滞不前,Tokio 团队介绍了他们未来要完成的工作:推动 Stream trait 进入 Rust 标准库、实现 io_uring 接口、集成 tracing 以及完善Tokio 的整体生态。这里的生态就是 Tokio 团队所说的 Tokio stack。举个例子,Tokio 为标准基元 (standard primitives),如 socket 和定时器提供了 runtime 和异步API,但网络应用通常会使用更高级别的协议,如 HTTP 和 gRPC。因此 Tokio stack 会提供HTTP 的 Hyper 和 gRPC 的 Tonic 以满足需求。 最后,Tokio 团队表示随着 Tokio 的推出,他们会专注于开发 Tower,这是一套用于构建可靠客户端和服务器的可重用组件。 详情查看https://tokio.rs/blog/2020-12-tokio-1-0

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

前端框架 Bootstrap 5 Beta 1 发布

Bootstrap 5 Beta 1 现已发布。官方表示,该版本包含了许多新功能以及重大更改。此后,其将只对功能、bug 和文档进行微调。本次更新的一些重点内容如下: 添加了 RTL 支持。具体变化有: CSS dist 文件的新 RTL 版本,其中包括网格、Reboot、实用工具和标准捆绑包。可参阅目录页面以获取文件的完整列表。 新的 RTL 文档帮助入门。 五个新的 RTL 示例展示了新的 RTL CSS 的运行情况,并将 Album、Checkout、Carousel、Blog 和 Dashboard 示例转换为所有新的从右到左的等效项。 两个新的 cheatsheet kitchen sink页面 重命名逻辑属性类 将 Popper 更新到 v2.x,并对其工具提示和弹出窗口进行了一些小改动。 在数据属性中添加命名空间 "bs"。示例如下: <div class="dropdown"> <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-bs-toggle="dropdown" aria-expanded="false"> Dropdown button </button> <ul class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <li><a class="dropdown-item" href="#">Action</a></li> <li><a class="dropdown-item" href="#">Another action</a></li> <li><a class="dropdown-item" href="#">Something else here</a></li> </ul> </div> 添加新的 toast positioning JavaScript 改进和错误修复 通过 state 选项更新了具有 pseudo-classes支持的实用程序 API 更多详情可查看:https://github.com/twbs/bootstrap/releases/tag/v5.0.0-beta1

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

gRPC 1.34.0 发布,高性能 RPC 框架

gRPC Core 的 1.34.0 版已经发布,详细的 gRPC 文档请参阅grpc.io,此版本包含改进和一些错误修复,下面列出了本次更新的一些重点内容: Core 使用环境变量“ GRPC_XDS_EXPERIMENTAL_SECURITY_SUPPORT”保护 xds 安全代码。(#24782) 添加对“ unix-abstract:” URI 的支持,以支持抽象的 unix 域套接字。(#24500) 解析未垂直的 SAN 字段时的增量索引。(#24601) 还原“revert”不推荐使用 GRPC_ARG_HTTP2_MIN_SENT_PING_INTERVAL_WITHOUT_DATA_MS“”。(#24518) xds:NACKING 时将状态代码设置为 INVALID_ARGUMENT。(#24516) 在 address_sorting.h 中包括 stddef.h。(#24514) xds:在 RouteMatch 中添加对 case_sensitive 选项的支持。(#24381) 删除 Android NDK r12b 的 TLS 解决方法。(#24283) C++ 修复 define = grpc_no_xds = true 构建。(#24503) 对 CreateCustomInsecureChannelWithInterceptorsFromFd 的实验支持和测试。(#24362) C# 修复了.NET 5 单文件应用程序中的 C#本机库加载(反向移植到 v1.34.x)。(#24853) 为特定于 Grpc.Core 的本机依赖项设置 RID。(#24766) 改进 PlatformApis 检查以检测 Unity。(#24714) 修复为在 .NET 5 或更高版本上不需要 libc-dev。(#24485) C#:通过将移动支持移至 Grpc.Core.Xamarin 软件包,使 Grpc.Core nuget 更简洁。(#24380) C#:不再支持 linux 和 macos 的 32 位运行时。(#24378) 优化更新 C#HelloworldXamarin 示例。(#24425) Objective-C 支持 grpc-core 和 grpc-cpp 的 swift 软件包管理器。(#24571) 将传输信息添加到 grpc-objc 用户代理中。(#24253) 升级 iOS 和 OSX 到最新版本。(#24282) PHP PHP:在 PECL 扩展中添加了对 PHP 8 的支持。(#24621) PHP:从 PECL 扩展中弃用 PHP 5 支持。(#24353) Python 使 setuptools 作为 grpcio_tools 的依赖项。(#24752) 停止 ctrl-c 为 AsyncIO 服务器生成的垃圾邮件日志。(#24718) 使运行时 Protos 可以使用众所周知的类型。(#24478) 将 Python 的 MACOSX_DEPLOYMENT_TARGET 升级到 10.10。(#24480) 使 Python 2 成为 Bazel 构建的可选依赖项。(#24407) Linux、macOS 支持预编译的 Python 3.9 轮子。(#24356) Ruby 将 Ruby 的 MACOSX_DEPLOYMENT_TARGET 升级到 10.10。(#24479) 详细更新信息:https://github.com/grpc/grpc/releases/tag/v1.34.0

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

Hadoop框架:HDFS高可用环境配置

本文源码:GitHub·点这里 || GitEE·点这里 一、HDFS高可用 1、基础描述 在单点或者少数节点故障的情况下,集群还可以正常的提供服务,HDFS高可用机制可以通过配置Active/Standby两个NameNodes节点实现在集群中对NameNode的热备来消除单节点故障问题,如果单个节点出现故障,可通过该方式将NameNode快速切换到另外一个节点上。 2、机制详解 基于两个NameNode做高可用,依赖共享Edits文件和Zookeeper集群; 每个NameNode节点配置一个ZKfailover进程,负责监控所在NameNode节点状态; NameNode与ZooKeeper集群维护一个持久会话; 如果Active节点故障停机,ZooKeeper通知Standby状态的NameNode节点; 在ZKfailover进程检测并确认故障节点无法工作后; ZKfailover通知Standby状态的NameNode节点切换为Active状态继续服务; ZooKeeper在大数据体系中非常重要,协调不同组件的工作,维护并传递数据,例如上述高可用下自动故障转移就依赖于ZooKeeper组件。 二、HDFS高可用 1、整体配置 服务列表 HDFS文件 YARN调度 单服务 共享文件 Zk集群 hop01 DataNode NodeManager NameNode JournalNode ZK-hop01 hop02 DataNode NodeManager ResourceManager JournalNode ZK-hop02 hop03 DataNode NodeManager SecondaryNameNode JournalNode ZK-hop03 2、配置JournalNode 创建目录 [root@hop01 opt]# mkdir hopHA 拷贝Hadoop目录 cp -r /opt/hadoop2.7/ /opt/hopHA/ 配置core-site.xml <configuration> <!-- NameNode集群模式 --> <property> <name>fs.defaultFS</name> <value>hdfs://mycluster</value> </property> <!-- 指定hadoop运行时产生文件的存储目录 --> <property> <name>hadoop.tmp.dir</name> <value>/opt/hopHA/hadoop2.7/data/tmp</value> </property> </configuration> 配置hdfs-site.xml,添加内容如下 <!-- 分布式集群名称 --> <property> <name>dfs.nameservices</name> <value>mycluster</value> </property> <!-- 集群中NameNode节点 --> <property> <name>dfs.ha.namenodes.mycluster</name> <value>nn1,nn2</value> </property> <!-- NN1 RPC通信地址 --> <property> <name>dfs.namenode.rpc-address.mycluster.nn1</name> <value>hop01:9000</value> </property> <!-- NN2 RPC通信地址 --> <property> <name>dfs.namenode.rpc-address.mycluster.nn2</name> <value>hop02:9000</value> </property> <!-- NN1 Http通信地址 --> <property> <name>dfs.namenode.http-address.mycluster.nn1</name> <value>hop01:50070</value> </property> <!-- NN2 Http通信地址 --> <property> <name>dfs.namenode.http-address.mycluster.nn2</name> <value>hop02:50070</value> </property> <!-- 指定NameNode元数据在JournalNode上的存放位置 --> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://hop01:8485;hop02:8485;hop03:8485/mycluster</value> </property> <!-- 配置隔离机制,即同一时刻只能有一台服务器对外响应 --> <property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property> <!-- 使用隔离机制时需要ssh无秘钥登录--> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/root/.ssh/id_rsa</value> </property> <!-- 声明journalnode服务器存储目录--> <property> <name>dfs.journalnode.edits.dir</name> <value>/opt/hopHA/hadoop2.7/data/jn</value> </property> <!-- 关闭权限检查--> <property> <name>dfs.permissions.enable</name> <value>false</value> </property> <!-- 访问代理类失败自动切换实现方式--> <property> <name>dfs.client.failover.proxy.provider.mycluster</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> 依次启动journalnode服务 [root@hop01 hadoop2.7]# pwd /opt/hopHA/hadoop2.7 [root@hop01 hadoop2.7]# sbin/hadoop-daemon.sh start journalnode 删除hopHA下数据 [root@hop01 hadoop2.7]# rm -rf data/ logs/ NN1格式化并启动NameNode [root@hop01 hadoop2.7]# pwd /opt/hopHA/hadoop2.7 bin/hdfs namenode -format sbin/hadoop-daemon.sh start namenode NN2同步NN1数据 [root@hop02 hadoop2.7]# bin/hdfs namenode -bootstrapStandby NN2启动NameNode [root@hop02 hadoop2.7]# sbin/hadoop-daemon.sh start namenode 查看当前状态 在NN1上启动全部DataNode [root@hop01 hadoop2.7]# sbin/hadoop-daemons.sh start datanode NN1切换为Active状态 [root@hop01 hadoop2.7]# bin/hdfs haadmin -transitionToActive nn1 [root@hop01 hadoop2.7]# bin/hdfs haadmin -getServiceState nn1 active 3、故障转移配置 配置hdfs-site.xml,新增内容如下,同步集群 <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> 配置core-site.xml,新增内容如下,同步集群 <property> <name>ha.zookeeper.quorum</name> <value>hop01:2181,hop02:2181,hop03:2181</value> </property> 关闭全部HDFS服务 [root@hop01 hadoop2.7]# sbin/stop-dfs.sh 启动Zookeeper集群 /opt/zookeeper3.4/bin/zkServer.sh start hop01初始化HA在Zookeeper中状态 [root@hop01 hadoop2.7]# bin/hdfs zkfc -formatZK hop01启动HDFS服务 [root@hop01 hadoop2.7]# sbin/start-dfs.sh NameNode节点启动ZKFailover 这里hop01和hop02先启动的服务状态就是Active,这里先启动hop02。 [hadoop2.7]# sbin/hadoop-daemon.sh start zkfc 结束hop02的NameNode进程 kill -9 14422 等待一下查看hop01状态 [root@hop01 hadoop2.7]# bin/hdfs haadmin -getServiceState nn1 active 三、YARN高可用 1、基础描述 基本流程和思路与HDFS机制类似,依赖Zookeeper集群,当Active节点故障时,Standby节点会切换为Active状态持续服务。 2、配置详解 环境同样基于hop01和hop02来演示。 配置yarn-site.xml,同步集群下服务 <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!--启用HA机制--> <property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property> <!--声明Resourcemanager服务--> <property> <name>yarn.resourcemanager.cluster-id</name> <value>cluster-yarn01</value> </property> <property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value> </property> <property> <name>yarn.resourcemanager.hostname.rm1</name> <value>hop01</value> </property> <property> <name>yarn.resourcemanager.hostname.rm2</name> <value>hop02</value> </property> <!--Zookeeper集群的地址--> <property> <name>yarn.resourcemanager.zk-address</name> <value>hop01:2181,hop02:2181,hop03:2181</value> </property> <!--启用自动恢复机制--> <property> <name>yarn.resourcemanager.recovery.enabled</name> <value>true</value> </property> <!--指定状态存储Zookeeper集群--> <property> <name>yarn.resourcemanager.store.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value> </property> </configuration> 重启journalnode节点 sbin/hadoop-daemon.sh start journalnode 在NN1服务格式化并启动 [root@hop01 hadoop2.7]# bin/hdfs namenode -format [root@hop01 hadoop2.7]# sbin/hadoop-daemon.sh start namenode NN2上同步NN1元数据 [root@hop02 hadoop2.7]# bin/hdfs namenode -bootstrapStandby 启动集群下DataNode [root@hop01 hadoop2.7]# sbin/hadoop-daemons.sh start datanode NN1设置为Active状态 先启动hop01即可,然后启动hop02。 [root@hop01 hadoop2.7]# sbin/hadoop-daemon.sh start zkfc hop01启动yarn [root@hop01 hadoop2.7]# sbin/start-yarn.sh hop02启动ResourceManager [root@hop02 hadoop2.7]# sbin/yarn-daemon.sh start resourcemanager 查看状态 [root@hop01 hadoop2.7]# bin/yarn rmadmin -getServiceState rm1 四、源代码地址 GitHub·地址 https://github.com/cicadasmile/big-data-parent GitEE·地址 https://gitee.com/cicadasmile/big-data-parent

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

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

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

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

用户登录
用户注册