首页 文章 精选 留言 我的

精选列表

搜索[字节级],共10000篇文章
优秀的个人博客,低调大师

云数据库将进入企业级百万IOPS时代

IOPS (Input/Output Operations Per Second),即每秒进行读写(I/O)操作的次数,以衡量存储每秒可接受多少次主机发出的访问。数据库,特别是关系型数据库由于需要处理实时业务,因此几乎所有变化的数据都必须完成落盘写入,以实现ACID的各项要求,特别针对持久性。因此更高的IOPS对于数据库整体性能提升有着至关重要的意义。 ESSD云盘是阿里云全新推出的超高性能云盘,基于新一代分布式块存储架构,结合25GE网络和RDMA技术,为您提供单盘高达100万的随机读写能力和相较SSD云盘更低的单路时延能力,产品正在阿里云火热公测中。 得益于ESSD对于IOPS性能的提升及针对链路延迟的降低,数据库将可以获得更高的性能,这对于企业级数据库应用系统在云上的运行能力将产生从量变到质变的提升。从实际的数据库压测效果看,E

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

企业级 SpringBoot 教程-在springboot中用redis实现消息队列

准备阶段 java 1.8 maven 3.0 idea 环境依赖 创建一个新的springboot工程,在其pom文件,加入spring-boot-starter-data-redis依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 创建一个消息接收者 REcevier类,它是一个普通的类,需要注入到springboot中。 public class Receiver { private static final Logger LOGGER = LoggerFactory.getLogger(Receiver.class); private CountDownLatch latch; @Autowired public Receiver(CountDownLatch latch) { this.latch = latch; } public void receiveMessage(String message) { LOGGER.info("Received <" + message + ">"); latch.countDown(); } } 注入消息接收者 @Bean Receiver receiver(CountDownLatch latch) { return new Receiver(latch); } @Bean CountDownLatch latch() { return new CountDownLatch(1); } @Bean StringRedisTemplate template(RedisConnectionFactory connectionFactory) { return new StringRedisTemplate(connectionFactory); } 注入消息监听容器 在spring data redis中,利用redis发送一条消息和接受一条消息,需要三样东西: 一个连接工厂 一个消息监听容器 Redis template 上述1、3步已经完成,所以只需注入消息监听容器即可: @Bean RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, MessageListenerAdapter listenerAdapter) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); container.addMessageListener(listenerAdapter, new PatternTopic("chat")); return container; } @Bean MessageListenerAdapter listenerAdapter(Receiver receiver) { return new MessageListenerAdapter(receiver, "receiveMessage"); } 测试在springboot入口的main方法: public static void main(String[] args) throws Exception{ ApplicationContext ctx = SpringApplication.run(SpringbootRedisApplication.class, args); StringRedisTemplate template = ctx.getBean(StringRedisTemplate.class); CountDownLatch latch = ctx.getBean(CountDownLatch.class); LOGGER.info("Sending message..."); template.convertAndSend("chat", "Hello from Redis!"); latch.await(); System.exit(0); }

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

企业级 SpringBoot 教程 (二)Spring Boot配置文件详解

springboot采纳了建立生产就绪Spring应用程序的观点。 Spring Boot优先于配置的惯例,旨在让您尽快启动和运行。在一般情况下,我们不需要做太多的配置就能够让spring boot正常运行。在一些特殊的情况下,我们需要做修改一些配置,或者需要有自己的配置属性。完整项目的源码来源技术支持一七九一七四三三八零哦~~ 一、自定义属性 当我们创建一个springboot项目的时候,系统默认会为我们在src/main/java/resources目录下创建一个application.properties。个人习惯,我会将application.properties改为application.yml文件,两种文件格式都支持。 在application.yml自定义一组属性: my: name: forezp age: 12 如果你需要读取配置文件的值只需要加@Value(“${属性名}”): @RestController public class MiyaController { @Value("${my.name}") private String name; @Value("${my.age}") private int age; @RequestMapping(value = "/miya") public String miya(){ return name+":"+age; } } 启动工程,访问:localhost:8080/miya,浏览器显示: forezp:12 二、将配置文件的属性赋给实体类 当我们有很多配置属性的时候,这时我们会把这些属性作为字段来创建一个javabean,并将属性值赋予给他们,比如: my: name: forezp age: 12 number: ${random.int} uuid : ${random.uuid} max: ${random.int(10)} value: ${random.value} greeting: hi,i'm ${my.name} 其中配置文件中用到了${random} ,它可以用来生成各种不同类型的随机值。 怎么讲这些属性赋于给一个javabean 呢,首先创建一个javabean : @ConfigurationProperties(prefix = "my") @Component public class ConfigBean { private String name; private int age; private int number; private String uuid; private int max; private String value; private String greeting; 省略了getter setter.... 需要加个注解@ConfigurationProperties,并加上它的prrfix。另外@Component可加可不加。另外spring-boot-configuration-processor依赖可加可不加,具体原因不详。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> 另外需要在应用类或者application类,加EnableConfigurationProperties注解。 @RestController @EnableConfigurationProperties({ConfigBean.class}) public class LucyController { @Autowired ConfigBean configBean; @RequestMapping(value = "/lucy") public String miya(){ return configBean.getGreeting()+" >>>>"+configBean.getName()+" >>>>"+ configBean.getUuid()+" >>>>"+configBean.getMax(); } 启动工程,访问localhost:8080/lucy,我们会发现配置文件信息读到了。

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

物联网行业基建级的平台形态:阿里云Link Develop

LinkDevelop(以下简称LD),在物联网生态中的定位是服务于开发环节的生产平台,各种层出不穷的应用、服务、API等都可以在这里产出,并且进行部署。平台还跟Link Market打通(物联网市场),形成了一条完整的商业化通路。 下面我就从四个方面详细讲一下我对LD理解和使用感受。 一、TSL物模型和Alink协议 一个物联网项目的顺利完成离不开俩物种的参与,一个叫硬件工程师,另一个叫软件工程师,通俗点说就是云上工程师和云下工程师。 工程师使用LD平台可以迅速进行物联网项目开发。如果一个老产品需要改造“上云”,也能快速迁移。 比如一个物联网灯泡,它的功能是通过APP控制亮度。那么云下工程师负责这个灯泡的电路实现,能够接收APP发送的指令,根据指令控制亮度(其中涉及到了硬件电路设计,安规认证,电磁兼容测试等比较“硬”的工作);云上工程师

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

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

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部分的功能。

用户登录
用户注册