MCPcopy Index your code
hub / github.com/buaazp/zimg

github.com/buaazp/zimg @v3.1.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.1.0 ↗ · + Follow
552 symbols 1,170 edges 44 files 156 documented · 28%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

zimg

Project zimg is a light image storage and processing system. It's written by C and it has high performance in image field. The zimg is designed for high concurrency image server. It supports many features for storing and processing images.

Homepage: zimg.buaa.us
Author: @招牌疯子
Contact me: zp@buaa.us

Build Status Build Status

Versions:

  • 09/09/2014 - zimg 3.1.0 Release. New generation.
  • 04/26/2014 - zimg 2.0.0 Release. Supported distributed storage backends.
  • 08/01/2013 - zimg 1.0.0 Release.

Dependence:

We stand on the shoulders of giants.

libevhtp: A more flexible replacement for libevent's httpd API.
LuaJIT: LuaJIT is JIT compiler for the Lua language.
imagemagick: A software suite to create, edit, compose, or convert bitmap images.
hiredis: Hiredis is a minimalistic C client library for the Redis database.
libmemcached: LibMemcached is designed to provide the greatest number of options to use Memcached.

[Optional] For Storage:

memcached: A distributed memory object caching system.
beansdb: Beansdb is a distributed key-value storage system designed for large scale online system, aiming for high avaliablility and easy management.
beanseye: Beanseye is proxy and monitor for beansdb, written in Go.
SSDB: SSDB is a high performace key-value(key-string, key-zset, key-hashmap) NoSQL database, an alternative to Redis.
twemproxy: Twemproxy is a fast and lightweight proxy for memcached and redis protocol.

Supplying:

Uploading, downloading and processing images through HTTP protocol.
High performance in concurrency I/O and compressing image.
Support memcached and redis protocols to save images into distributed storage backends.
Varied config options for operation and maintenance.
Support lua scripts to deal with customize compressing strategy.

Documents:

There are several documents to introduce the design and architecture of zimg:
Documents of zimg
And this picture below shows the architecture of zimg's storage:

architecture_of_zimg_v3

Download:

The source code is licensed under a BSD-like License.
All versions on Github.

Build:

You should build dependences above and make sure the beansdb, beanseye or ssdb backend is working well.

git clone https://github.com/buaazp/zimg -b master --depth=1
cd zimg   
make  
cd bin  
./zimg conf/zimg.lua

More infomation for building zimg: Guide Book of zimg

Feedback:

If you have any question, please submit comment here or mention me on Weibo.
Technical issues are also welcomed to be submitted on GitHub.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 445
Class 88
Enum 17
Interface 1
Method 1

Languages

C87%
C++12%
Go1%
PHP1%

Modules by API surface

deps/libevhtp/evhtp.c145 symbols
deps/cjson/cJSON.c52 symbols
deps/hiredis/hiredis.c51 symbols
deps/libevhtp/evhtp.h29 symbols
deps/libevhtp/htparse.c27 symbols
deps/libevhtp/evthr.c26 symbols
deps/hiredis/sds.c26 symbols
src/zutil.c24 symbols
src/zhttpd.c22 symbols
src/zlscale.c16 symbols
src/zdb.c15 symbols
deps/hiredis/net.c15 symbols

For agents

$ claude mcp add zimg \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page