# rock **Repository Path**: threadfly/rock ## Basic Information - **Project Name**: rock - **Description**: rock定位为基础组件,避免过多的重复轮子,要求加入进来的库或者函数通用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-02 - **Last Updated**: 2022-01-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rock(磐石) > rock定位为基础组件,避免过多的重复轮子,要求加入进来的库或者函数通用。 - base: 无依赖基础组件 - log: 日志适配器 - service-discovery: 服务发现的组件,分为缓存层,和存储层。通过依赖注入方式使用存储层,目前存储层对接zookeeper的实现 - mutex: 多种锁的实现,包括自旋锁、顺序锁、递归锁 ## base 通用的函数,比如对字节数组与字符串互相转换能有优化提升的StringToBytes、BytesToString ## log 日志适配器封装了日志常用的的Debug、Debugf、Error、Errorf、Info、Infof接口,用户只需要 注入了实现6个接口任意日志实现就可以直接通过该库的接口操作日志实现库。使用该库的好处: 1. 可以避免字符串的格式化操作。因为log内部自定义了日志级别,在格式化之前已经通过日志级别拦截掉没必要的字符串格式化操作; 2. 公共组件可以直接使用该库进行Debug埋点,因为默认设置了标准输出用于调试,同时当用户使用的该组件时,可以结合业务选用自己喜欢的日志库实现。 该适配器的设计理念类似Java语言中有名的slf4j日志框架, 不过相对slf4j功能简单容易上手。 ## service-discovery TODO ## mutex TODO